2017-07-30 58 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 +','''

相關問題