在OPENROWSET中使用动态查询时语法不正确

时间:2016-10-04 15:41:39

标签: sql-server tsql

我有一个T-SQL脚本,我从OPENROWSET函数中获取结果,如下所示:

DECLARE @TableForBalance TABLE
(
    --fields
)
DECLARE @Param  varchar(15) = 'XXXXXXX'
DECLARE @query varchar(255) = CONCAT('EXEC SomeStoredProcedure ''',@Param,'''')
INSERT INTO @TableForBalance select * FROM OPENROWSET('SQLNCLI', 'Server=10.10.10.10;Trusted_Connection=yes;', @query)

我得到了一个提示:

  

'@query'附近的语法不正确。期待'。',ID,QUOTED_ID,STRING   或TEXT_LEX

但是当我做的事情如下:

INSERT INTO @TableForBalance select * FROM OPENROWSET('SQLNCLI', 'Server=10.10.10.10;Trusted_Connection=yes;', 'EXEC SomeStoredProcedure ''XXXXX''')

它有效,但我希望@Param是动态的。

任何解决方案?感谢

0 个答案:

没有答案