zoukankan      html  css  js  c++  java
  • 同一个连接的数据库,里面的所有数据库实例之间都支持事务

    sqlserver的事务sql

     1 ---开启事务
     2 begin tran
     3 --错误扑捉机制,看好啦,这里也有的。并且可以嵌套。
     4 begin try  
     5    --语句正确
     6    UPDATE [jichu].[cheliang].[pinpai] SET img = '../kkkkkkkkk.jpg' WHERE id = '5'
     7    --出错
     8    UPDATE [jichu].[zulin].[heimingdan] SET idnum = '130123198908152kkk' WHERE id = '1'
     9      -- 另一个库里的表
    10      UPDATE [bz].[cheliang].[chelianginfo] SET vinn = 'kkkkkkkkkkkkkkkkkk' WHERE chepaihao = '苏BZ2222'
    11 end try
    12 begin catch
    13    select Error_number() as ErrorNumber,  --错误代码
    14           Error_severity() as ErrorSeverity,  --错误严重级别,级别小于10 try catch 捕获不到
    15           Error_state() as ErrorState ,  --错误状态码
    16           Error_Procedure() as ErrorProcedure , --出现错误的存储过程或触发器的名称。
    17           Error_line() as ErrorLine,  --发生错误的行号
    18           Error_message() as ErrorMessage  --错误的具体信息
    19    if(@@trancount>0) --全局变量@@trancount,事务开启此值+1,他用来判断是有开启事务
    20       rollback tran  ---由于出错,这里回滚到开始,第一条语句也没有插入成功。
    21 end catch
    22 if(@@trancount>0)
    23 commit tran  -- 提交事务
    24 
    25 -- 查询验证
    26 select * from [jichu].[cheliang].[pinpai] WHERE id = '5';
    27 select * from [jichu].[zulin].[heimingdan] WHERE id = '1';
    28 SELECT * from bz.cheliang.chelianginfo where chepaihao = '苏BZ2222';

    mysql的事务sql

    1 BEGIN;
    2 UPDATE tieasygps.log set operate_desc = 'ffffffffff' WHERE id = '1';
    3 UPDATE tieasygps.yys set ms = 'fffffffffff' WHERE id = '2';
    4 UPDATE test.pp set ms = 'ffffffffffffff' WHERE id = '3';
    5 COMMIT;

    只要有一个出错,都会回滚。

  • 相关阅读:
    log4net封装类
    (转)MySQL InnoDB 架构
    备份宽带不足,innobackupex备份导致从库不可写
    从库查询阻塞xtrabackup备份,应该是kill备份还是kill查询的问题
    rabbitmq群集安装
    MySQL索引选择问题(要相信MySQL自己选择索引的能力)
    binlog_format产生的延迟问题
    命令行登录mysql报Segmentation fault故障解决
    MySQL5.7.21启动异常的修复
    大查询对mha切换的影响
  • 原文地址:https://www.cnblogs.com/shamo89/p/7299036.html
Copyright © 2011-2022 走看看