我正在添加一列作为外键,它不能为空,因此需要一个默认值。
ALTER TABLE location
ADD [retailer_brand_id] INT NOT NULL DEFAULT (SELECT retailer_id from retailer),
FOREIGN KEY(retailer_brand_id) REFERENCES retailer_brand(retailer_brand_id);
我想要实现的是,从SELECT retailer_id from retailer
获取retailer_id
,如果它等于12,则将其设置为0,否则设置为select查询返回的retailer_id
。
当我使用上面的查询时,我得到一条错误消息
此上下文中不允许子查询。只允许使用标量表达式。
发布于 2018-08-02 07:41:34
我建议使用计算列instead....so,您不必在应用程序逻辑和表定义中使用此case语句...不希望在2 spots...and中使用它,也不必担心retailerid changes...calc列何时会处理此问题
发布于 2021-03-01 01:32:37
我需要类似的功能。计算列对我来说不是一个选项,因为我的值以后应该可以由用户更改,所以我使用了insert时触发。
https://stackoverflow.com/questions/51643588
复制相似问题