有時為了程式撰寫方便,會透過exec執行StoreProcedure的方式,但卻遇到不知該如何把回傳值回傳至外部所定義的變數之中

請參考以下語法

 

DECLARE @SQL varchar(max)

DECLARE @tmp varchar(max)

--設定預設值

SET @tmp = ''

--設定欲執行的StoreProcedure,注意OutPut的變數使用”?”

SET @SQL = 'SYS..uspSYSGetEmail @IDCode=''1'',@IDs=''93;151;1183'',@CompanyID=1,@Email=  ? OUTPUT;'

 

--AT SRVDB指定該段SQL語法的LINKED SERVER,若為本機則不須指定

--故以下的語法用意為執行SRVDB.SYS..uspSYSGetEmail…

EXEC (@SQL, @tmp) AT SRVDB

PRINT @tmp

 

P.S.以上SQL語法的參考如下(全部將參數透過外部參數帶入,避免組字串時被一堆的單引號搞混

SET @SQL = 'SYS..uspSYSGetEmail @IDCode= ?,@IDs=? ,@CompanyID=?,@Email=  ? OUTPUT;'

EXEC (@SQL, '1', '93;151;1183', 1, @tmp) AT SRVDB


 

 

文章標籤
全站熱搜
創作者介紹
創作者 nelman 的頭像
nelman

nelman

nelman 發表在 痞客邦 留言(0) 人氣(4,923)