oracle中的事务

oracle中的事务
1.什么是事务
   事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么
   全部成功,要么全部失败。
   DML包括:INSERT、UPDATE、DELETE。注意,select语句属于DQL(Data Query Language)。
   如:网上转账就是典型的要用事务来处理,以保证数据的一致性。
   当执行一个事务操作时(dml语句),oracle会在被作用的表上加锁,防止别的用户
   修改表的结构。

2.回退事务
      设置回滚点(保存点):       savepoint a;
      回滚命令(取消部分事务):   rollback to a;
      取消全部事务:               rollback

3.提交事务
      提交命令: commit (exit 自动提交)
       效果:确认事务变化、结束事务、删除保存点、释放锁
             其他会话可以查到事务变化后的新数据

4.java程序中如何使用事务

   Connection ct = null;
   try{
   
     Class.forName("oracle.jdbc.driver.OracleDriver");
     ct = DriverManager.getConnection
      ("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","SCOTT","SCOTT");
    //事务处理,以下语句将要么全部执行成功,要么全部失败
     ct.setAutoCommit(false);
     Statement sm = ct.createStatement();
     sm.executeUpdate("update emp set (job,comm)
      =(select job,comm from emp where ename = 'SMITH') where ename = 'SCOTT'");
    
    //事务提交,如果以上语句执行抛出异常则不会提交
    ct.commit();
    }catch(Exception e){
        try{
           ct.rollback();//ct必须在try外面,不在作用域执行不了
            }catch(Exception ex){
                ex.printStackTrace();
                  }
     e.printStackTrace();  
          }finally{
     sm.close();
     ct.close();
     }

5.oracle中的事务处理
 只读事务
    只读事务是指只允许执行查询操作,而不允许dml操作的事务,
     确保用户只能取到待定时间点的数据信息。
  设置只读事务
     set transation read only;
     一旦设置,查询到的信息都是设置时间之前的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值