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。 。 。啊,那些括号,叹了口气。 –