首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在SQL Server中指定条件默认约束?

如何在SQL Server中指定条件默认约束?
EN

Stack Overflow用户
提问于 2018-08-02 07:30:38
回答 2查看 1.2K关注 0票数 1

我正在添加一列作为外键,它不能为空,因此需要一个默认值。

代码语言:javascript
复制
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

当我使用上面的查询时,我得到一条错误消息

此上下文中不允许子查询。只允许使用标量表达式。

EN

回答 2

Stack Overflow用户

发布于 2018-08-02 07:41:34

我建议使用计算列instead....so,您不必在应用程序逻辑和表定义中使用此case语句...不希望在2 spots...and中使用它,也不必担心retailerid changes...calc列何时会处理此问题

票数 1
EN

Stack Overflow用户

发布于 2021-03-01 01:32:37

我需要类似的功能。计算列对我来说不是一个选项,因为我的值以后应该可以由用户更改,所以我使用了insert时触发。

如下所示:Trigger to update table column after insert?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51643588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档