在存储过程里面利用 @@error 判断刚才的 SQL 语句执行是否成功,如果失败,再退出存储过程

解决方案 »

  1.   

    insert ...
    if @@error<>0
      select '错了!'
    else 
      select '对了'
    insert ...
    if @@error<>0
      select '错了!'
    else 
      select '对了'
      

  2.   

    在存儲過程中根據@error<>0判斷是否出錯,返回1或0
    declare @re int
    exec @re = spname ......
    if @re=1
    print 'ok'
      

  3.   

    create proce ..
    as
    begin
      declare @a int,@b int
      insert .....
      set @a=@@error
      insert ....
      set @b=@@error
      insert ...
      if @a<>0 or @b<>0 or @@error<>0
        select '有错误'
      else
        select '对了'
    end
      

  4.   

    if @@error=0 GOTO ERREXIT
    RETURN 0
    ERREXIT:
     select '错了!'
    RETURN 1
      

  5.   

    用 @@error ,看所影响的行数。
      

  6.   

    楼上错了!
    @@rowcount,看所影响的行数。
      

  7.   

    成功执行影响的函数也不一定就不是0巴?
    我存储过程就干这么一件事:print 'I love this game?'
    不行吗? ;)
      

  8.   

    行,那你的存储过程还有写的必要吗???@@rowcount要在用@@error之前保存好再判断。
      

  9.   

    在存储过程中检验系统变量@@error值,如果不为0就表示出错。
      

  10.   

    @@ERROR判断是否出错....
    @@rowcount 为语句影响的行数....