zoukankan      html  css  js  c++  java
  • Oracle 事件

    Oracle 的事物

    事物是设么

    事物是用于高正数据的一致性,他由一组相关的dml语句组成(增加删除语句),这组语句要么全部成功要不全部失败。

    如:网上转账。

    1)设置保存点

    Savepoint a1 ;

    2)取消部分事物

    Rollback to a1 ;

    3)取消全部事物

    Rollback;

    现在执行程序

    Statement sm = conn.createStatement();

    sm.executeUpdate("update emp set sal = sal - 100 where ename = 'SCOTT'");       

    sm.executeUpdate("update emp set sal = sal + 100 where ename = 'SMITH'") ;

     

    这两句程序可以看出是一个事物,如果执行了前一个程序,扣钱,而没有执行第二个价钱的程序,则异常。

     

    加一个事物处理

    首先

       Ct.setAutoCommit(false) ;  取消自动保存

    然后在错误处理中,使用rollback。

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class s {
          private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
            private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:mldn";
            private static final String USER = "scott" ;
            private static final String PASSWORLD = "tiger" ;
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
            int a ;
            Connection conn = null;    
            try{
                Class.forName(DBDRIVER) ;
            
            //第二步 连接数据库
            conn = DriverManager.getConnection(DBURL,USER,PASSWORLD) ;
            
            conn.setAutoCommit(false) ;
            
            System.out.println(conn) ;
            Statement sm = conn.createStatement();
            sm.executeUpdate("update emp set sal = sal - 100 where ename = 'SCOTT'");  
            a = 7 / 0 ;
            sm.executeUpdate("update emp set sal = sal + 100 where ename = 'SMITH'") ;
                    
            conn.commit();
            conn.close();
            } catch (Exception e) {
                try{
                    conn.rollback() ;
                    
                } catch (Exception e1){
                    e1.printStackTrace() ;
                }
                e.printStackTrace() ;
            }
    
        }
    
    }

    只读事务

    Set transaction read only ;

  • 相关阅读:
    Networking
    Table of Contents
    Table of Contents
    Jersey(1.19.1)
    Jersey(1.19.1)
    11.Container With Most Water---两指针
    85.Maximal Rectangle---dp
    42.Trapping Rain Water---dp,stack,两指针
    84.Largest Rectangle in histogram---stack
    174.Dungeon Game---dp
  • 原文地址:https://www.cnblogs.com/da-peng/p/5298910.html
Copyright © 2011-2022 走看看