有時為了程式撰寫方便,會透過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
全站熱搜
留言列表