在sql Server中~如何利用RETURN返回存储过程的值~~~

请教高手~~最好有OUTPUP和RETURN的对比的实例~~

从存储过程返回非表类型的值有二种方法:
1.存储过程使用return语句返回值.此种情况下,接收该存储过程值的方法是:
delcare @ReturnValue int /*(与存储过程return语句返回值的类型相同)*/
exec @ReturnValue = StoredProc /*StoredProc为一个存储过程*/
2.存储过程使用OUTPUT输出参数.此种情况下,直接使用OUTPUT输出参数即可:
declare @id int
set @id = 1
exec StoreProc @id OUTPUT /*StoredProc为一个存储过程*/
select @id
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-08
假设有这样定义的存储过程checkstateCREATE PROCEDURE checkstate @param varchar(11) AS IF (SELECT state FROM authors WHERE au_id = @param) = 'CA' RETURN 1 ELSE RETURN 2 下例显示从 checkstate 执行中返回的状态。第一个显示的是在加利福尼亚州的作者;第二个显示的是不在加利福尼亚州的作者,第三个显示的是无效的作者。必须先声明 @return_status 局部变量后才能使用它。DECLARE @return_status int EXEC @return_status = checkstate '172-32-1176' SELECT 'Return Status' = @return_status GO OutPut是通过参数传递值的
相似回答