我想要做的是为列添加值。现在可能是该列尚不存在。
所以我做的是检查该列是否存在,如果不存在,我将添加它然后插入值。
IF COL_LENGTH('version', 'minor') = NULL
BEGIN
ALTER TABLE version ADD minor INT null;
END
GO
UPDATE version SET minor= 4;
问题是解析器抱怨这一点,因为在解析时列minor
不存在。
有没有办法在单个脚本中进行此传递?
答案 0 :(得分:3)
使用:
SET ANSI_NULLS OFF
GO
IF COL_LENGTH('version', 'minor') = NULL
BEGIN
ALTER TABLE [version] ADD minor INT null;
END
GO
UPDATE [version] SET minor= 4;
OR
IF COL_LENGTH('version', 'minor') IS NULL
BEGIN
ALTER TABLE [version] ADD minor INT null;
END
GO
UPDATE [version] SET minor= 4;
您正在尝试将NULL = NULL
与ANSI_NULLS ON
拉吉