您好,我要更改一个SQL
表,在其中要添加新列A
,并根据另一列B
的值设置其默认值。我这样做吗?
到目前为止,我已经尝试过:
IF NOT EXISTS(SELECT *FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='T' AND COLUMN_NAME='B')
BEGIN
ALTER TABLE T ADD B bit default 0;
UPDATE T
SET B = A
我不断收到错误消息:
Msg 207,Level 16,State 1,Line 23
Invalid column name 'B'.
PS :我想自动执行两条语句(更改表并更新新创建的列)
我原以为这是Intellisense
中MSSQL
的问题,但是能够按顺序运行命令。
更新
我也试图将语句分成两部分,但仍然无济于事:
IF NOT EXISTS(SELECT *FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='T' AND COLUMN_NAME='B')
ALTER TABLE T ADD B bit default NULL;
UPDATE T
SET B = A
WHERE B = NULL
END