我正在试图使用以下代码来重命名SQL Server 2008 R2中的表:
declare @date varchar(8)
set @date = convert( varchar(8), getdate(), 112)
exec sp_rename 'LM_SM_Billing_and_Send_Data', 'LM_SM_Billing_and_Send_Data_@date'
我的意图是将表格重命名为当前日期的附加。
select convert( varchar(8), getdate(), 112)
返回 20141219
但是当我运行重命名时,它会给表格命名;
LM_SM_Billing_and_Send_Data_@date
不是插入日期
我想知道是否可以将其重命名为:
LM_SM_Billing_and_Send_Data_20141219
通过在表名中使用变量。我已经搜索了很多信息,似乎要使用动态SQL,但我从来没有用过,也不确定语法是什么,以获得我想要的结果。
set @name = 'LM_SM_Billing_and_Send_Data_' + @date
,然后执行exec sp_rename 'LM_SM_Billing_and_Send_Data', @name
吗? - Jonathan Leffler'LM_SM_Billing_and_Send_Data_@date'
中的@date
并对其进行操作。但实际上不会。 - John Saunders