使用另一个表中的一个数据重命名表

时间:2017-02-21 00:05:56

标签: sql

我创建了一个名为`[Detail]`的表。我想重命名表`[Detail]`。

新名称可以是Title列中的最新字符串,形成另一个名为[Event]的表。
[Event]表有两列,EventID,和TitleEventID是主键。

ALTER TABLE [Detail] 
RENAME to 
SELECT Title FROM [Event] 
WHERE EventID = (SELECT MAX(EventID) FROM [Event])

1 个答案:

答案 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)