PL/SQL中savepoint和rollback的用法总结

简介:
先说一下这两个命令的用法格式:
--起一个名字为A的savepoion 
savepoint A(这个A是savepoint的名字) 
--跳转到savepoint A处 
rollback  to A
一旦执行了rollback那么savepoint的操作都将撤消,当然最后一定执行一次commit,否则所有的操作都是在缓存中进行的,不会真正的写入数据库中,写个例子
DECLARE 
     v_number number; 
BEGIN 
     v_number := 1; 
      insert  into DEPT  values(deptno_seq.nextval,v_number, ''); 
     savepoint A; 
      insert  into DEPT  values(deptno_seq.nextval,v_number+1, ''); 
     savepoint B; 
      insert  into DEPT  values(deptno_seq.nextval,v_number+2, ''); 
     savepoint C; 
      rollback  to A; 
      --如果这行不加,那么数据并没有写入到数据库中,只是写到了缓存中,直接查询数据库是没有插入的值的 
      commit
END;
deptno_seq.nextval
这个是事先在数据中生成好的序列,代码为
CREATE SEQUENCE "SUCRE"."DEPTNO_SEQ" MINVALUE 1 MAXVALUE 1.00000000000000E+27 INCREMENT  BY 10 START  WITH 201 CACHE 20 NOORDER NOCYCLE ;
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/357072,如需转载请自行联系原作者
相关文章
|
6月前
|
SQL Java 数据库连接
SQL SELECT语句的基本用法
SQL SELECT语句的基本用法
|
2月前
|
SQL 数据采集 监控
局域网监控电脑屏幕软件:PL/SQL 实现的数据库关联监控
在当今网络环境中,基于PL/SQL的局域网监控系统对于企业和机构的信息安全至关重要。该系统包括屏幕数据采集、数据处理与分析、数据库关联与存储三个核心模块,能够提供全面而准确的监控信息,帮助管理者有效监督局域网内的电脑使用情况。
43 2
|
4月前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
4月前
|
SQL 存储 安全
SQL Server用法
SQL Server用法
129 1
|
4月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
84 1
|
5月前
|
SQL Oracle 关系型数据库
SQL与PL/SQL:数据库编程语言的比较
【8月更文挑战第31天】
113 0
|
5月前
|
SQL 关系型数据库 MySQL
8、SQL高级用法
8、SQL高级用法
25 0
|
7月前
|
SQL 数据库
SQL中CASE WHEN THEN ELSE END的用法详解
SQL中CASE WHEN THEN ELSE END的用法详解
|
6月前
|
SQL Java 数据库连接
SQL SELECT语句的基本用法
SQL SELECT语句的基本用法
|
4月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")