我在尝试创建使用动态查询和参数的过程时遇到了一些麻烦。
我使用sp_msforeachdb
并且它接收一个参数作为字符串,这个字符串是动态的并且包含一些其他字符串......
澄清一下,这是我的例子:
SET @vTableName = '##temp_table_' + convert(NVARCHAR(8), getdate(),112)
SET @vQuery = ' sp_msforeachdb
''use ? IF db_name() LIKE (''%_BASE'')
INSERT INTO ''+@vTableName+''
SELECT *
FROM elements
WHERE identifier = ''P''
''
'
有人能帮帮我吗? 非常感谢!
答案 0 :(得分:0)
不确定您要对use语句做什么,但修改了一些引号。
DECLARE @vTableName varchar(2000)
DECLARE @vQuery varchar(2000)
SET @vTableName = '##temp_table_' + convert(NVARCHAR(8), getdate(),112)
SET @vQuery = ' sp_msforeachdb
''use ? IF db_name() LIKE (''%_BASE'')
INSERT INTO '+@vTableName+'
SELECT *
FROM elements
WHERE identifier = ''P''
'