那请问,在存储过程里 有INSERT,UPDATE 等语句不需要判断数据库操作的返回值吗

解决方案 »

  1.   

    SP的错误处理应该这样:
    CREATE PROCEDURE  dbo . pro_A 
    ……
    AS
    ……
    DECALRE @RC INT
    SELECT @RC=0if(@RC=0)
     BEGIN
        SELECT.....
        UPDATE... SELECT @RC=@@ERRRO
     IF @RC<>0
       BEGIN 
            SELECT @RC=-5001
            RETURN @RC
       END
    ELSE
    ....
      

  2.   

    存储过程的错误处理:create proc p_test
    @reErr int output
    as
    exec('insert into 表 values(1)')  --如果不用exec,直接执行的话,就捕捉不到错误
    set @reErr=@@error
    if @reErr<>0 print '插入错误'
    go