簡體   English   中英

SQL Server存儲過程捕獲T-SQL中的返回值

[英]SQL Server Stored Procedure capture return value in T-SQL

我有一個SQL Server存儲過程; 我需要從存儲過程中捕獲返回值。 這是正確的做法嗎?

  declare valback varchar(30)
  set valback = exec storeproc1 

在這種情況下, storeproc1是我的存儲過程。

首先,使用正確的T-SQL語法:

declare @valback int;
exec @valback = storeproc1;

存儲過程允許的唯一返回類型是int 存儲過程通過return語句返回狀態。

我不知何故感覺你真的想要別的東西,即:在程序中有一個OUTPUT參數

declare @valback varchar(30);
exec storedproc1 @valback OUTPUT;

或通過INSERT ... EXEC捕獲過程結果集。 請參見如何在存儲過程之間共享數據

正確的語法是:

DECLARE @valback VARCHAR(30) 
EXEC @valback = storeproc1  

根據文件:

http://msdn.microsoft.com/en-us/library/ms188332.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM