2010-08-16 4 views
0

Je ne peux pas pour la vie de me comprendre ce qui est mal avec ce code:S'il vous plaît me dire pourquoi ce code est de lancer une erreur

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' 

Je continue à obtenir cette erreur:

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

Répondre

1

Mettre un GO après alter table

ALTER TABLE TempTable3 ADD Report_Date datetime 
GO 
+0

Cela semble avoir fonctionné, mais pourquoi était-ce nécessaire? – user416516

+0

parce que GO est un terminateur de lots indiquant à SQL Server de s'exécuter immédiatement jusqu'à ce point. Il n'est pas nécessaire pour les mises à jour et les insertions, mais chaque fois que vous modifiez des métadonnées, il en a besoin – SQLMenace

Questions connexes