Oracle 事件

Posted 式微胡不归

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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() ;
        }

    }

}

 

以上是关于Oracle 事件的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

Client / Server Interoperability Support Matrix for Different Oracle Versions (Doc ID 207303.1)(代码片段

如何使用事件侦听器来加载动画片段的循环

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法

C#常用代码片段备忘