由於工作場所內的約束條件,我必須使用本地存儲過程來調用鏈接sql服務器上的另一個遠程存儲過程,但問題在於將必要參數傳遞給遠程存儲PROC。將concat查詢參數傳遞給SQL OPENQUERY
這是我構造的查詢:
select *
from OPENQUERY([REMOTE_SRVR],'exec db.dbo.dwStoredProc_sp ''@id''')
爲了通過@id
到遠程存儲的過程我明白,我可以串聯在上述作爲一個字符串,然後使用沿線exec
東西作者:
set @query = 'select * from OPENQUERY([REMOTE_SRVR], ''EXEC db.dbo.dwStoredProc_sp '' @id '''''
exec(@query)
我不能讓本地存儲的proc成功地調用其他。單引號混亂沒有幫助!
我得到的錯誤:Could not find stored procedure 's'
只是爲了澄清'@ id'將是一個字符串。我會嘗試這種故障的方法,謝謝。 – Lee
這很好,但是我現在爲了安全而試圖使用'sp_executesql'。 – Lee