SQL Server 2005.
Следующие 3 строки sql работают без ошибок, если столбец Is_Active ранее существовал в таблице Dim_Form.
т.е. если Is_Active ранее не существовало, выполнение следующих 3 строк выдает ошибку, как показано ниже;
ALTER TABLE dbo.Dim_form add Is_Active bit NULL
UPDATE dbo.Dim_form set Is_Active = 1
ALTER table dbo.Dim_form alter column Is_Active bit NOT NULL
Я получаю эту ошибку только в том случае, если это «совершенно новый» столбец
Msg 207, Level 16, State 1, Line 2
Invalid column name 'Is_Active'.
Если я запускаю это
ALTER TABLE dbo.Dim_form add Is_Active bit NULL
GO
UPDATE dbo.Dim_form set Is_Active = 1
ALTER TABLE dbo.Dim_form alter column Is_Active bit NOT NULL
-- and now drop the newly created column
ALTER TABLE dbo.Dim_form DROP COLUMN Is_Active
Теперь я могу успешно запустить исходные 3 строки sql - есть идеи, что с этим происходит?
Почему предшествующее существование столбца повлияло на сценарий?