我正在更新一些代码,删除我们拥有的信用限额条款之间的关系。为此,我得更新数据库!
新架构将为CreditLimitCode添加一列,该列与没有该列键的旧列TermsCodeId相同。我需要暂时保留TermsCodeId,因此无法重命名。
我尝试了这个SO question的答案,但这给了我语法错误,因为CreditLimitCode不存在,我不喜欢默认添加。
IF COL_LENGTH('CreditApp.dbo.CreditLimit', 'CreditLimitCode') IS NULL
BEGIN
ALTER TABLE CreditApp.dbo.CreditLimit ADD CreditLimitCode VARCHAR(6) NOT NULL DEFAULT (0)
UPDATE CreditApp.dbo.CreditLimit SET CreditLimitCode = CreditTermsId WHERE CreditLimitCode = 0
PRINT 'Added CreditLimitCode to CreditLimt'
END
我不确定插入后的触发器是否正确,因为我正在改变表而不插入行。
答案 0 :(得分:1)
exec('UPDATE CreditApp.dbo.CreditLimit
SET CreditLimitCode = CreditTermsId
WHERE CreditLimitCode = 0')
因为编译时CreditLimitCode不存在