2017-07-30 59 views
0

我需要放入变量@REGIMECASAM,那就是在REGIMECASAM字段中的值时,COMPLEMENT表,银行FIRMAS(火鸟)的。将一个EXEC sp_executesql的结果到一个变量

FIRMAS数据库的链接服务器工作正常,但运行EXEC后变量@REGIMECASAM保持为空。

注意,当我手动执行选择与@QUERYTOTAL的内容,没有错误发生,并且SELECT结果是正确的,并且它具有作为REGIMECASAM字段的内容的值3。

这是代码:

DECLARE @REGIMECASAM INT 

DECLARE @OPENQUERY nvarchar (1000), @TSQL nvarchar (1000), @LinkedServer nvarchar (1000) SET @LinkedServer = '[SIGNALS]' 

SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY (' + @LinkedServer + ',' '' 

SET @TSQL = 'SELECT REGIMECASAM FROM COMPLEMENT WHERE LINK =' + CAST (@ CODEID AS VARCHAR (6)) + '' ')' 

SET @QUERYTOTAL = @ OPENQUERY + @ TSQL 

EXEC sp_executesql @QUERYTOTAL, N '@ REGIMECASAM INT out', @REGIMECASAM OUT 

SELECT @REGIMECASAM The Outputs 

有人能帮助我吗?

+1

为什么在调用'EXEC'时提及'REGIMEASAM'两次输出参数?另外,为什么在参数文字' @'和变量名? – ironstone13

+1

[this](http s://stackoverflow.com/questions/803211/how-to-get-sp-executesql-result-into-a-variable?rq = 1)来自页面帮助右侧的** Related **链接? – HABO

+0

问题解决了! –

回答

0

问题解决了!

我改变了线以下:

SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY(' + @LinkedServer + '' ''

为:

SET @OPENQUERY =“SELECT @ REGIMECASAM ='REGIMECASAM FROM OPENQUERY'('+ @LinkedServer +','''

相关问题