存贮过程最后的一句 return(0) 或是 return(1) 的作用是什么呢?
---------------------------
这个返回值是给谁用的呢?谁接收这个值呢?
一般用于哪种情况下,即哪种情况下,会用到这个返回值。

解决方案 »

  1.   

    B. 返回状态代码
    下例检查指定作者所在州的 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再执行一次查询,指定另一个作者编号。DECLARE @return_status int
    EXEC @return_status = checkstate '12345678901'
    SELECT 'Return Status' = @return_status
    GO下面是结果集:Return Status 
    ------------- 
    2
      

  2.   

    return 终止当前程序, 立即返回。 但(0)和(1)完全在MS SQL中没用的。
      

  3.   

    0 同  false  1 同 true
      

  4.   

    如果函数返回的是bool值, 0 和 1 就很常见了。
      

  5.   


    可是前台无法接收这个返回值呀,前台可以通过output参数来接收一个存贮过程的返回值,但是用return返回的值如何接收呢?在存贮过程中是可以接收的。假如存贮过程为prog1
    declare @i int
    exec @i=prog1
    print @i
      

  6.   

    你就把它当SELECT语句就可以了。。
      

  7.   

    return_value的值为0,说明存储过程执行成功,如果不是0则代表发生错误的错误号,注意不全是SQL内部的错误号,而是ADO定义的错误号。   
      一点建议:在存储过程中,建立一变量作为输出变量,用它来监控存储过程执行状态,不仅可以控制执行的错误还可以控制业务逻辑的错误。