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. JNI由浅入深_5_基本类型应用

    1.基本类型应用 对于JNI处理基本类型还是比较简单的,下面是Java代码: <span style="font-size:14px;"> public native ...

  2. CSU 1598 最长公共前缀 (简单KMP或者暴力)

    Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 226     Solved: ...

  3. HDU 1142 A Walk Through the Forest(最短路+记忆化搜索)

    A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  4. sql-case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end

    遇到 XXX情况 就 XXX 遇不到就 XXX 结束case when …… then …… else …… end 例如一个3条件取值的字段: case when 条件1 then 取值1 when ...

  5. Python 基础 模块

    python 中模块和保定 概念 如果将代码分才投入多个py 文件,好处: 同一个变量名也互不影响.   python 模块导入 要使用一个模块,我们必须先导入该模块.python 使用import ...

  6. Extjs6 编写自己的富文本组件(以ueditor为基础)

    一.下载ueditor 地址:http://ueditor.baidu.com/website/ 二.将ueitor资源引入自己的项目 在index.html中引入ueditor.config.js. ...

  7. C++练习 | 求解二叉树的高度

    int h(BTree *bt) { if(bt->lchild==NULL&&bt->rchild==NULL) ; if(bt->lchild!=NULL& ...

  8. mysql5.7关于使用到OR是否会用到索引并提高查询效率的探讨

    相信很多人在mysql中看到了where条件中使用到了or就会以为这样是不会走索引的,通常会使用union all或者in 来进行优化,事实并不是想象的这样具体问题具体分析. 下面我们来看看 首先我们 ...

  9. Linux基础-3.用户、群组和权限

    1.用户及passwd文件 1)掌握/etc/passwd文件的功能:存储所有用户的相关信息,每一个用户占用一行记录,该文件也被称为用户信息数据库(Database) 2)/etc/passwd文件中 ...

  10. Spark SQL join的三种实现方式

    引言 join是SQL中的常用操作,良好的表结构能够将数据分散到不同的表中,使其符合某种规范(mysql三大范式),可以最大程度的减少数据冗余,更新容错等,而建立表和表之间关系的最佳方式就是join操 ...