zoukankan      html  css  js  c++  java
  • SQL Server @@ERROR 用法

    @@error是系统函数,当没有发生错误时返回0,如果发生错误时@@error<>0,并返回错误号,每个SQL语句执行完,@@error值都会变。

    @@error只记录当前错误,如果存储过程执行多个操作,就要每次都判读@@error是否出现错误,比较麻烦。
    今天就遇到这个问题了,下面是一个简单的例子,就可以解决这个问题。


    create  proc proc_Test
    --根据ID修改表
    @id int ,          --id
    @name varchar(20)   --名字
    as
    begin transaction
    declare @errors int        --错误数

    --根据id修改
     update table1  set name=@name where id=@id
    --设置接受错误数
    set @errors=@errors+@@error

    r

    --查询销售id
    select  @xsbfid =id from receipt2 where sn=@sn
    set @errors=@errors+@@error

    --插入样机表
    insert into table2
    (name )values(@name)
    set @errors=@errors+@@error

    if (@errors<>0)
    begin
        rollback  transaction 
    end
    else
    begin
        commit transaction 
    end

    只是声明了一个变量,每次用它来累积错误值。嘻嘻,问题就解决了。

    http://blog.163.com/happy_2010_zyj/blog/static/151148756201041044646221/

  • 相关阅读:
    stm32入门
    Shell入门
    广播与组播
    超时接收
    socket的四种IO模型
    网络套接字socket
    网络基础
    慢速系统调用被中断
    C# 程序运行时间计算
    HTTP的传输编码(Transfer-Encoding:chunked) / net::ERR_INVALID_CHUNKED_ENCODING
  • 原文地址:https://www.cnblogs.com/fuqiang88/p/4370816.html
Copyright © 2011-2022 走看看