我有一個SQL Server存儲過程;我需要從存儲過程中捕獲返回值。這是做這件事的正確方法嗎?SQL Server存儲過程在T-SQL中捕獲返回值
declare valback varchar(30)
set valback = exec storeproc1
在這種情況下,storeproc1
是我的存儲過程。
我有一個SQL Server存儲過程;我需要從存儲過程中捕獲返回值。這是做這件事的正確方法嗎?SQL Server存儲過程在T-SQL中捕獲返回值
declare valback varchar(30)
set valback = exec storeproc1
在這種情況下,storeproc1
是我的存儲過程。
開始,使用適當的T-SQL語法:
declare @valback int;
exec @valback = storeproc1;
的唯一回報允許存儲過程的類型爲int
。存儲過程通過return
聲明返回狀態。
我莫名其妙地有一種感覺,你真的想要別的東西,即: 有在程序的OUTPUT parameter:
declare @valback varchar(30);
exec storedproc1 @valback OUTPUT;
或捕捉過程結果通過INSERT ... EXEC
設置。見How to Share Data Between Stored Procedures。
正確的語法是:
DECLARE @valback VARCHAR(30)
EXEC @valback = storeproc1
按照文檔:
您需要使用`@ valback`來表示它是一個變量。 – JNK 2011-12-16 21:53:30