0
我需要做一些更新和重命名列,如果有舊名稱來使用它,所以我想這樣做:重命名列不允許分批
GO
IF NOT EXISTS (SELECT * FROM sys.columns WHERE Name = N'NewColumn' AND OBJECT_ID = OBJECT_ID(N'Potatoes'))
BEGIN
UPDATE Potatoes SET OldColumn = 4 WHERE SomeColumn = 1
EXEC SP_RENAME 'dbo.Potatoes.OldColumn', 'NewColumn', 'COLUMN';
END
GO
腳本正常工作第一次,但是當再次運行時,輸入錯誤找不到名爲OldColumn
的列並返回錯誤。我如何使用一列並在一批中重命名?
是的,運行字符串是一種方式,如果沒有其他的發現。我甚至想過'sp_executesql'。 – FLCL
另外,只是'EXEC'...''將導致不正確的語法錯誤 – FLCL
@FLCL。 。 。啊,那些括號,嘆了口氣。 –