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”问题处理(代码片段