“过程”有返回值么?为什么不将你的return的值也使用output参数来获得呢?

解决方案 »

  1.   

    存储过程的返回值是放在你的输出参数(@c)中传回来的。
    不会return的哦
      

  2.   

    可以用@return_status变量获取Return的返回值可参考sql server联机帮助:
    返回状态代码
    下例检查指定作者所在州的 ID。如果所在的州是加利福尼亚州 (CA),将返回状态代码 1。否则,对于任何其它情况(state 的值是 CA 以外的值或者 au_id 没有匹配的行),将返回状态代码 2。CREATE 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下面是结果集:Return Status 
    ------------- 
    1             再执行一次查询,指定一个不同的作者编号。DECLARE @return_status int
    EXEC @return_status = checkstate '648-92-1872'
    SELECT 'Return Status' = @return_status
    GO下面是结果集:Return Status 
    ------------- 
    2
      

  3.   

    接收存储过程的返回值:
    declare @return int
    exec @return=存储过程 参数
    select @return  --显示返回值
      

  4.   

    terry915(天):RETURN从查询或过程中无条件退出,一般只返回一个值,会存在多个值的情况吗?