2010-08-16 3 views
0

я не могу за жизнь мне понять, что не так с этим кодом:Пожалуйста, скажите мне, почему этот код бросает ошибку

IF NOT EXISTS(SELECT * FROM sys.columns WHERE name = 'Report_Date' 
         AND object_id = OBJECT_ID('TempTable3')) 
    ALTER TABLE TempTable3 ADD Report_Date datetime 

--Set "ReportDate" field to the date the data was extracted less one. 
UPDATE TempTable3 
SET Report_Date = '20100815' 

я получаю эту ошибку:

"Msg 207, Level 16, State 1, Line 51 
Invalid column name 'Report_Date'." 

ответ

1

Положить GO после таблицы изменений

ALTER TABLE TempTable3 ADD Report_Date datetime 
GO 
+0

Кажется, что сработало, но зачем это было необходимо? – user416516

+0

, потому что GO - это терминатор партии, который SQL Server должен выполнить немедленно до этой точки. Он не нужен для обновлений и вставок, но всякий раз, когда вы меняете метаданные, это необходимо – SQLMenace