我正在尝试创建一个可重新运行的脚本
IF EXISTS ((SELECT * from information_schema.columns where TABLE_SCHEMA=N'MySchema' and TABLE_NAME=N'Table1' AND COLUMN_NAME=N'Column1'))
BEGIN
PRINT 'Updating'
UPDATE [Table2]
SET Column = 0
WHERE Id IN (SELECT t2.Id
FROM [Table2] t2
JOIN [MySchema].[Table1] t1 ON t2.UserId = t1.UserId
WHERE t1.Column1 = 0)
ALTER TABLE [MySchema].[Table1] DROP COLUMN Column1
END
它第一次工作,但第二次我得到错误
列名“Column1”无效。
任何帮助,将不胜感激。我之前使用sys.columns
过检查该列是否存在。它适用于 SQL Server 2005。