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 = / ;
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 ;

Oracle 事件的更多相关文章

  1. Oracle数据库的“健康指示器”——事件(events)

    Oracle数据库“赢在”在架构,这话还是有道理的,除了锁(lock)这个最大的架构上的“赢点”之外,Oracle事件(event)也是另外一个很重要的架构上的“赢点”,因为当今的Oracle数据库, ...

  2. Windows平台手动卸载Oracle Server【完整+干净】

    使用Oracle自带的Universal Installer卸载存在问题: 不干净,不完全,还有一些注册表残留,会影响到后来的安装. 所以,推荐使用手工卸载Oracle. 1.[win+R]-> ...

  3. oracle数据库的安装、配置与无残留卸载

    安装配置   :关闭专用网络防火墙 2 :以管理员身份运行安装文件 ——“setup.exe” 3 :设置口令    其中SYS 用户权限大于 SYSTEM 4 :先决条件检查,若验证成功,点击 ”下 ...

  4. oracle触发器详解

    触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 1.触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和 ...

  5. Oracle触发器原理、创建、修改、删除

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  6. Oracle体系结构详解

    对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的.同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专 ...

  7. ORACLE 触发器

    •1.1 触发器类型 • DML触发器 • 替代触发器 • 系统触发器 •1.2 创建触发器 • 触发器触发次序 • 创建DML触发器 • 创建替代(INSTEAD OF)触发器 • 创建系统事件触发 ...

  8. 删除ORACLE的步骤

    1.关闭oracle所有的服务.可以在windows的服务管理器中关闭: 2.打开注册表:regedit 打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlS ...

  9. 如何彻底卸载Oracle

    如何彻底卸载Oracle 因为Oracle在Windows下的卸载颇有一些麻烦,如果不能完全卸载有可能影响将来的再次安装!常规卸载方法是运行Oracle的自带的卸载程序,可遗憾的是我在卸载时总不能完全 ...

随机推荐

  1. Contest - 多校训练(985专场) Problem C: 985的方格难题

    题目链接:http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1157&pid=2 Description 985走入了一个n * n的方格地图, ...

  2. oracle xe client 如何设置 tnsnames.ora(解决无法使用pl/sql developer的问题)

    10.2版本xe的服务器和客户端安装都很方便,由于xe的服务器只允许建立一个实例,实例名字会直接默认为xe,客户端默认安装在C:\XEClient目录下,使用sqlplus连接服务器: sqlplus ...

  3. ubuntu12.04 android studio 安装

    ubuntu12.04 android studio 安装 分类: android 2014-02-17 15:57 10756人阅读 评论(0) 收藏 举报 1.下载JDK ,我下载的是jdk-7u ...

  4. PAT1014

    Suppose a bank has N windows open for service. 一个银行有N个服务的窗口 There is a yellow line in front of the w ...

  5. java验证控制的方法

    TestNullOrEmpty.java public class TestNullOrEmpty { public static void main(String[] args) {         ...

  6. Linux通过防火墙禁止IP来防止攻击

    1. iptables -I INPUT -s 211.1.0.0 -j DROP 禁止211.1.0.0这个IP访问服务器 2. iptables -I INPUT -s 211.1.0.0 -j ...

  7. C#统计网站访问总人数和当前在线人数

    一.打开vitualstudio2010,新建一个网站,然后添加新项,新建一个login.aspx和index.aspx页面.再添加新项,选择全局应用程序类,该页面为Global.asax. 第一步: ...

  8. zf-关于触摸屏子系统(查询机)的页面

    这个页面 一般是 touch/index.jsp 这个要记下来. -- 今天有个任务 是把查询机的UI页面给换掉

  9. byte[]和InputStream的相互转换

    1:byte[]转换为InputStream InputStream sbs = new ByteArrayInputStream(byte[] buf); 2:InputStream转换为Input ...

  10. 对Viewcontroller在UINavigationController中入栈出栈的一点点理解

    转载自:http://blog.csdn.net/intheair100/article/details/41119073 wait_record_arr 在viewdidload里面被alloc,如 ...