zoukankan      html  css  js  c++  java
  • SQL事务处理语句总结

    存储过程中常用到的SQL事务处理语句格式可能会有如下几种:

    第一种:
    set   xact_abort   on 
    begin   tran 
            insert   ... 
            update   ... 
            delete   ... 
    commit   tran

    第二种:
    set   xact_abort   on 
    begin   tran 
            insert   ... 
            if @@error<>0 rollback tran
            update   ... 
            if @@error<>0 rollback tran
            delete   ... 
            if @@error<>0 rollback tran
    commit   tran

    第三种:
    set   xact_abort   on 
    begin   tran 
            insert   ... 
            update   ... 
            delete   ... 

    if @@error<>0 
    rollback  tran
    else
    commit   tran

    第四种:
    set   xact_abort   on 
    begin   tran 
    declare @ErrorSave int
            insert   ... 
            if @@error<>0  set  @ErrorSave=1
            update   ...  
          if @@error<>0  set  @ErrorSave=1
            delete   ... 
          if @@error<>0  set  @ErrorSave=1

    if @ErrorSave>0 
    rollback  tran
    else
    commit   tran

    使用事务的缺陷:使用多了事务处理,经常会产生死锁现象,特别是多用户并发插入修改删除数据的时候,会造成服务器运行缓慢.所以有时候只好采取删除掉事务的代码,而是提前在程序中检测输入的存储过程参数是否合法数据.

  • 相关阅读:
    软件架构阅读笔记04
    软件架构阅读笔记03
    TortoiseGit和intellij idea配置秘钥
    linux关闭在线登录用户
    汉化gitlab
    GitLab服务器搭建
    redis 中如何切换db
    弹性伸缩问题
    Filebeat+Logstash自定义多索引
    logstash
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306861.html
Copyright © 2011-2022 走看看