`

16.savePoint

    博客分类:
  • JDBC
 
阅读更多
package test.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Savepoint;
import java.sql.Statement;

public class TxTest {
static void update() throws SQLException {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
Savepoint sp = null;
try {
String sql1 = "update user1 set money = money - 10 WHERE id=1";
conn = JdbcUtil.getConnection();
conn.setAutoCommit(false);
st = conn.createStatement();
st.executeUpdate(sql1);
sp = conn.setSavepoint();

String sql2 = "select money from user1 where id = 2";
rs = st.executeQuery(sql2);
int money = 0;
while (rs.next()) {
money = rs.getInt("money");
}
if (money > 330) {
throw new RuntimeException("!!!!!!!!!!!!");
}

conn.commit();
} catch (RuntimeException e) {
if (conn != null && sp != null) {
conn.rollback(sp);
conn.commit();
throw e;
}
} catch (SQLException e) {
if (conn != null) {
conn.rollback();
throw e;
}
} finally {
JdbcUtil.free(rs, st, conn);
}
}

public static void main(String[] args) throws SQLException {
update();
}
}
分享到:
评论

相关推荐

    Oracle数据操作和控制语言详解.pdf

    在csdn下载里面搜索到的都是格式很不好的一些资源 索性自己动手做了一份,倾情奉献! Oracle数据操作和控制语言详解 1 1. DML语言 1 2. 插入数据 1 3. 更新数据 2 4. 删除数据 2 ...16. 系统权限 12

    MySQL 5.1参考手册

    13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET...

    MySQL 5.1中文手冊

    13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET...

    MySQL 5.1参考手册 (中文版)

    13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET...

    mysql官方中文参考手册

    13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET...

    MYSQL中文手册

    言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 ...5.10.5....5.10.6....5.10.7....5.10.8....5.11.4....5.11.5....7.4.9....7.4.10....10.3.12....10.10.6....10.10.7....

    MySQL 5.1参考手册中文版

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 ...13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET ...

    MySQL5.1参考手册官方简体中文版

    13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET...

    MySQL 5.1官方简体中文参考手册

    目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 ...

    mysql5.1中文手册

    目录 <br>前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3....

    老男孩第三期Python全栈开发视频教程 零基础系统学习Python开发视频+资料

    ├─(55) 03 python s3 day48 mysql事务之savepoint.avi (13)\\python全栈day41-50\\python全栈s3 day49;目录中文件数:10个 ├─(56) 01 python s3 day49 http协议之请求协议.avi ├─(57) 02 python s3 day49 http...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    Oracle数据库、SQL

    17.10保留点savepoint 36 十八、 数据库对象:视图view 37 18.1带子查询的create table 37 18.2带子查询的insert 37 18.3定义缺省值:default 37 18.4 视图view 38 18.5视图的应用场景 38 18.6视图的分类 39 18.7...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    8.2.3 事务控制:COMMIT、ROLLBACK、SAVEPOINT和SELECT FOR UPDATE 277 8.3 识别和管理PL/SQL对象 281 8.3.1 存储的与匿名的PL/SQL程序块 282 8.3.2 PL/SQL对象 282 8.4 监视和解决锁定冲突 286 8.4.1 共享锁...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

    8.2.3 事务控制:COMMIT、ROLLBACK、SAVEPOINT和SELECT FOR UPDATE 277 8.3 识别和管理PL/SQL对象 281 8.3.1 存储的与匿名的PL/SQL程序块 282 8.3.2 PL/SQL对象 282 8.4 监视和解决锁定冲突 286 8.4.1 共享锁...

    mysql数据库的基本操作语法

    password varchar(16), --使用表级约束语法, constraint uk_name_pwd unique(name, password) ); 表示用户名和密码组合不能重复 添加唯一约束 alter table temp add unique(name, password); alter table temp ...

Global site tag (gtag.js) - Google Analytics