2

我想要做的是向列添加一个值。现在可能是该列尚不存在。

所以我要做的是检查该列是否存在,如果不存在,我将添加它,然后插入该值。

IF COL_LENGTH('version', 'minor') = NULL
BEGIN
    ALTER TABLE version ADD minor INT null;
END
GO

UPDATE version SET minor= 4;

问题是解析器抱怨这一点,因为该列minor在解析时不存在。

有没有办法在单个脚本中进行此传递?

4

1 回答 1

4

使用任一:

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;

或者

IF COL_LENGTH('version', 'minor') IS NULL
    BEGIN
        ALTER TABLE [version] ADD minor INT null;
    END
    GO

    UPDATE [version] SET minor= 4;

您正在尝试NULL = NULLANSI_NULLS ON

拉吉

于 2013-05-08T04:40:09.453 回答