在运行时修改表名

时间:2014-10-16 04:20:26

标签: sql-server-2008-r2

我想备份一个表,其中时间戳值链接在备份表中。因此可以很容易地计算出这个备份所属的日期。我正在尝试这样的事情,这显然是行不通的。

请建议如何在运行时修改表名。

情景:

Insert into original_table+'_'+Convert(varchar(10),GETDATE(),112)
select * from original_table

输出应为:

应该使用数据创建一个表original_table_20141015。

1 个答案:

答案 0 :(得分:0)

您可以使用新表名构建SQL字符串,然后使用sp_executesql执行它。

示例:

DECLARE @sql nvarchar(MAX)
SET @sql = 'SELECT * INTO original_table_' +
    CONVERT(varchar(8), GETDATE(), 112) +
    ' FROM original_table'
EXEC sp_executesql @sql