gpt4 book ai didi

sql-server - 基于 If then Else sql server 2008 将默认值添加到现有列

转载 作者:行者123 更新时间:2023-12-02 20:43:00 25 4
gpt4 key购买 nike

是否可以更改现有列以接受基于另一个列值的默认值?

例如:

Create table #Temp
(
TempId int not null
,TransCode int --values of 1 / 2 or 3
,ReasonCode int
)

ReasonCode 的默认值基于转码。当 TransCode 为 1 并且 ReasonCode 为 Null 时,则为 99,否则 ReasonCode

如何添加此默认约束?

最佳答案

您可以通过 CHECK 约束来完成,

首先您必须创建表,

 create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);

然后添加约束为

创建表 myTemp1(TempId int not null ,TransCode int,ReasonCode int);

alter table myTemp1
add constraint check_role CHECK(case when (TransCode = 1 AND ReasonCode = NULL)
then 99 else ReasonCode end = ReasonCode);

或者喜欢

alter table myTemp1
add constraint check_role CHECK(ReasonCode = (case when (TransCode = 1 AND ReasonCode
= NULL) then 99 else ReasonCode end = 1))

演示地址:http://sqlfiddle.com/#!3/d633a/1

关于sql-server - 基于 If then Else sql server 2008 将默认值添加到现有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20233840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com