我创建了一个名为`[Detail]`的表。我想重命名表`[Detail]`。
新名称可以是Title
列中的最新字符串,形成另一个名为[Event]
的表。
[Event]
表有两列,EventID
,和Title
。 EventID
是主键。
ALTER TABLE [Detail]
RENAME to
SELECT Title FROM [Event]
WHERE EventID = (SELECT MAX(EventID) FROM [Event])
答案 0 :(得分:1)
考虑执行动态SQL命令。正如@gmiley所建议的那样,你应该检查它是否必要,因为存在安全性和性能问题等缺点。
DECLARE @NewName varchar(255)
DECLARE @sqlCommand varchar(1000)
SELECT TOP 1 @NewName = Title
FROM [Event]
ORDER BY ID DESC
SET @sqlCommand = 'ALTER TABLE [Detail] RENAME to ' + @NewName
EXEC (@sqlCommand)