1 使用set transaction设置事务属性
2 只读事务 set transaction read only
3 读写事务 set transaction write;
4 在进行数据统计分析工作时,一般都会查询数据库中的多个表,此时可以将查询统计
5 工作定义为只读事务, 防止进行DML操作
6 --只读事务示例
7 declare
8 v_1981 number(2);
9 v_1982 number(2);
10 v_1983 number(2);
11 begin
12 commit;
13 set transaction read only name '统计年度入职数据';
14 select count(empno) into v_1981 from emp where
15 to_char(hiredate,'yyyy')='1981';
16 select count(empno) into v_1982 from emp where
17 to_char(hiredate,'yyyy')='1982';
18 select count(empno) into v_1983 from emp where
19 to_char(hiredate,'yyyy')='1983';
20 commit;
21 dbms_output.put_line('1981年入职人数:'||v_1981);
22 dbms_output.put_line('1982年入职人数:'||v_1982);
23 dbms_output.put_line('1983年入职人数:'||v_1983);
24 end;
25
26
27 --不同块中的异常作用域级别
28 declare
29 e_outerexception exception;
30 begin
31 declare
32 e_innerexception exception;
33 begin
34 raise e_innerexception;
35 raise e_outerexception;
36 end;
37 --raise e_innerexception; --在外层异常出发内存块异常时非法的
38 --外层异常覆盖内层异常
39 exception raise e_outerexception;
40 when others then
41 dbms_output.put_line('出现了错误'||'错误编号'
42 ||SQLCODE||'错误名称'||sqlerrm);
43 end;
44 --exception_init使用示例 把Oracle系统异常关联到我们自定义异常
45 declare
46 e_missingnull exception;
47 pragma exception_init (e_missingnull,-1400);
48 begin
49 insert into emp(empno) values(null);
50 commit;
51 exception
52 when e_missingnull then
53 dbms_output.put_line('触发了ORA-1400错误!'||sqlerrm);
54 rollback;
55 end;
 

PLSQL事务的更多相关文章

  1. SQL记录-PLSQL事务

    PL/SQL事务   数据库事务是一个工作的原子单元,其可以由一个或多个相关的SQL语句组成.所谓的原子性就是数据库的修改所带来的构成事务的SQL语句可以集体被提交,即永久到数据库或从数据库中(撤消) ...

  2. plsql programming 14 DML和事务管理

    我们可以把多个SQL语句集中在一起, 在逻辑上组成一个事务, 从而保证这些操作或者全部被保存到数据库(用sql的说法就是”提交”), 或者被整体驳回(用sql的说法是“回滚”). 事务: ACID 原 ...

  3. .Net程序员学用Oracle系列(27):PLSQL 之游标、异常和事务

    1.游标 1.1.游标属性 1.2.隐式游标 1.3.游标处理及案例 2.异常 2.1.异常类别 2.2.异常函数 2.3.异常处理及案例 3.事务 3.1.开始事务.结束事务 3.2.自治事务 3. ...

  4. plsql常用函数汇总

    在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set nls_language='SIMPLI ...

  5. PLSQL开发笔记和小结(转载)

    *****************************************   PLSQL基本结构 ***************************************** 基本数据 ...

  6. oracle教程:PLSQL常用方法汇总

    oracle教程:PLSQL常用方法汇总 在SQLPLUS下,实现中-英字符集转换alter session set nls_language='AMERICAN';alter session set ...

  7. plsql programming 16 动态SQL和动态PLSQL

    动态SQL 是指在执行时才构建 SQL 语句, 相对于静态 sql 的编译时就已经构建. 动态PLSQL 是指整个PL/SQL代码块都是动态构建, 然后再编译执行的. 作用: 1. 可以支持 DDL ...

  8. Oracle基础 PL-SQL编程基础(4) 异常处理

    异常处理: 即使良好的PL-SQL程序也会遇到错误或者未预料的事件,一个优秀的程序都应该能够处理各种出错情况,尽可能的从错误中恢复.程序在运行时出现的错误成为异常.发生异常后,语句讲终止执行,PLSQ ...

  9. Oracle之PLSQL总结

    基本数据类型变量 1. 基本数据类型     Number 数字型     Int 整数型     Pls_integer 整数型,产生溢出时出现错误 Binary_integer 整数型,表示带符号 ...

随机推荐

  1. DataFrame查找

    一 通过索引取数据 (ix/loc/iloc) loc (根据索引名称取数据 , 适合多列) iloc (根据索引序号取数据,   适合多列) at  (和loc类似,只用于取单列, 性能更好) ia ...

  2. 优先队列之二叉堆与d-堆

    二叉堆简介 平时所说的堆,若没加任何修饰,一般就是指二叉堆.同二叉树一样,堆也有两个性质,即结构性和堆序性.正如AVL树一样,对堆的以此操作可能破坏者两个性质中的一个,因此,堆的操作必须要到堆的所有性 ...

  3. DataGuard的三种保护模式

    (一)三种保护模式介绍1.最大性能模式这种模式保证数据库主库性能最大化,主备库之间数据是异步传输的.即,主备日志归档以后才会传输到备库,在备库上使用归档日志文件做恢复操作.这种模式提供在不影响prim ...

  4. C++练习 | 模板与泛式编程练习

    #include <iostream> #include <cmath> #include <cstring> #include <string> #i ...

  5. 各种快速幂(qaq)

    今天分享下各种快速幂(有点坑),首先说一下快速幂的原理, 以下以求a的b次方来介绍 [1]  把b转换成二进制数. 该二进制数第i位的权为   例如 11的二进制是1011 11 = 2³×1 + 2 ...

  6. C++笔记014:C++对C的扩展——新增数据类型bool类型

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 1.C++在C语言的基本类型系统之上增加了bool类型. 2.C++中的bool类型变量可取的值只有true 和false,true代表真 ...

  7. java业务逻辑,利用hibernate获取所连接的数据库信息

    1.本人程序架构是springMVC+hibernate,这次的需求是要针对不同的数据库,做不同的处理. 2.获取所连接的数据库是什么,oracle?  mysql?  sql server?  基础 ...

  8. 树莓3B+_Raspbian 源使用帮助

    https://mirrors.ustc.edu.cn/help/raspbian.html   Raspbian 源使用帮助 地址 https://mirrors.ustc.edu.cn/raspb ...

  9. [FreeRTOS入门] 1.CubeMX中FreeRTOS配置参数及理解

    1.有关优先级 1.1 Configuration --> FreeRTOS MAX_PRIORITIES 设置任务优先级的数量:配置应用程序有效的优先级数目.任何数量的任务都可以共享一个优先级 ...

  10. nRF52832 BLE_DFU空中升级OTA(一)安装软件(SDK14.2.0)

    准备工作,需要安装好几个软件,详细的过程请参考下面的文章(http://www.cnblogs.com/iini/p/9314246.html)这里说的非常详细,而且也有工具在云盘,对于初学者非常友好 ...