【发布时间】:2017-02-28 10:13:48
【问题描述】:
我有简单的脚本:
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.Columns
WHERE table_name = 'T1' AND column_name = 'C1')
BEGIN
ALTER Table T1
ADD C1 BIT NOT NULL CONSTRAINT DF_T1_C1 DEFAULT 0
UPDATE Table T1
SET C1 = 1
END
GO
我遇到错误
关键字“表”附近的语法不正确。
我尝试了this solution,但它没有更新列值。我遇到了this,但我认为这不是我的情况,因为我不想捕获异常或进行任何交易。我有简单的选择吗?
放置 GO 分隔符也没有帮助。
正如 Joe Taras 指出的那样,我已经更改了脚本,但现在出现错误
列名“C1”无效。
【问题讨论】:
-
新错误是因为首先批处理编译,然后执行。在尝试编译
UPDATE语句时,不存在这样的列。 -
你不能像我在我的解决方案中发布的那样更改默认值吗?那么你甚至不需要更新?!
标签: sql sql-server