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. 双显示器N卡安装ubuntu驱动以及解决办法

    之前我是打算在win下面结合虚拟机开发前后端,今天仔细想了一下,不是很靠谱,后端调试太困难了.可能的方案就是Netbeans远程开发的方式,以前我试过,调试起来也是非常的麻烦.于是果断下载个ubunt ...

  2. EF Core 2.1 Raw SQL Queries (转自MSDN)

    Entity Framework Core allows you to drop down to raw SQL queries when working with a relational data ...

  3. eclipse的git插件安装、配置与使用

    Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分, ...

  4. Rabbitmq(三)

    1.在服务器安装好rabbitmq后,自己配置自己用的vhost,exchange和queue的绑定 2.项目添加RabbitMqClient.dll(nuget获取)引用 3.添加helper就可以 ...

  5. laravel5.5源码笔记(四、路由)

    今天这篇博文来探索一下laravel的路由.在第一篇讲laravel入口文件的博文里,我们就提到过laravel的路由是在application对象的初始化阶段,通过provider来加载的.这个路由 ...

  6. Delphi跨平台下的GetTickCount,GetCurrentThreadID

    在Windows下只要uses Windows,就有这两个API可调用GetTickCount,GetCurrentThreadID 如果我们需要跨平台使用这两个函数,就不能仅仅Uses Window ...

  7. Python使用代理的方法

    我们在做爬虫的过程中经常会遇到这样的情况:最初爬虫正常运行,正常抓取数据,一切看起来都是那么的美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden:出现这样的原因往往是网站采取了一些 ...

  8. Mysql Explain的简单使用

    Mysql Explain 主要重要的字段有上面红色方框圈出来的那几个. type: 连接类型,一个好的SQL语句至少要达到range级别,杜绝出现all级别. key: 使用到的索引名,如果没有选择 ...

  9. 20155233 《Java程序设计》实验五 Java网络编程及安全

    实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验1 两人一组结对编程: 0. 参考http://www.cnblogs.com/rocedu/p/67 ...

  10. 20155307 实验一《Java开发环境的熟悉》实验报告

    (一)命令行下Java程序开发 题目:实现Fibonacci数列功能,并进行测试 命令行下的程序截图 上传到了码云: 遇到的问题? 可以直接使用Javac,不加环境变量也行,但是文件的名字与类名必须一 ...