据我所知,我可以使用以下sp更改sql表:
EXEC sp_rename 'customers', 'custs'
Run Code Online (Sandbox Code Playgroud)
我如何附加这个以便新表的今天的日期作为后缀?
我尝试了以下主题的变化,但收效甚微!
EXEC sp_rename 'customers', 'customers +(CONVERT(VARCHAR(8),GETDATE(),3))'
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.
这听起来像是一件非常糟糕的事情!您应该评估您的设计,使用名称中的日期重命名您的表格表明您将生成许多表格,每个表格用于不同的日期.您可以在表中添加日期列,并使用它来区分数据,而不是为不同的日期创建全新的表.
话虽如此,您不能将表达式作为SQL Server中存储过程的参数.通过尝试将格式化日期连接到字符串'customers',您试图将表达式作为参数传递.
您必须首先将表达式存储在局部变量中,然后使用该局部变量调用存储过程:
DECLARE @Value varchar(500)
SET @Value='customers' +(CONVERT(VARCHAR(8),GETDATE(),3))
EXEC sp_rename 'customers', @Value
Run Code Online (Sandbox Code Playgroud)