我在query
下面创建duplicate table
:
select * into person1 from person
但我知道我需要query
为所选duplicate
中的每个table
创建database
。
对此我尝试如下:
Declare @Time nvarchar(10)=1
Declare @Comment nvarchar(max)
set @Comment ='select * into ?'+@Time + ' '+'from ?'
exec sp_msforeachtable @Comment
但它返回错误:
Msg 102,Level 15,State 1,Line 1
' 1'附近的语法不正确 消息102,级别15,状态1,行1 ' 1'附近的语法不正确。
有办法做到这一点吗?
答案 0 :(得分:2)
在评论中我们的对话后,我认为你将不得不使用动态的SQL。 你可以使用这样的东西:
DECLARE @Sql nvarchar(max) = '';
SELECT @Sql = @Sql + 'SELECT * INTO '+ TABLE_NAME +'1 FROM '+ TABLE_NAME +';'
FROM INFORMATION_SCHEMA.TABLES
EXEC(@SQL)