oracle触发器及异常处理 简单例子

Java代码  

  1. create sequence person_seq
  2. start with 1
  3. increment by 1
  4. order                     --按顺序
  5. nocycle                 --不循环不重复
  6. ;
  7. insert into person values(person_seq.nextval,null,‘iteye);
  8. delete from person;
  9. update person set user_name =‘zwllxs6‘ where id = 3;
  10. ---触发器
  11. create or replace trigger person_tr before insert or update or delete on person
  12. for each row
  13. Declare
  14. can_not_update_exception  EXCEPTION;
  15. begin
  16. dbms_output.put_line(‘testest‘);
  17. if inserting then
  18. dbms_output.put_line(‘inserting‘);
  19. end if;
  20. if updating then
  21. dbms_output.put_line(‘updating‘);
  22. dbms_output.put_line(‘old: ‘||:old.user_name);
  23. dbms_output.put_line(‘new: ‘||:new.user_name);
  24. if(:old.user_name<>:new.user_name) then
  25. dbms_output.put_line(‘不一样,不能更新‘);
  26. Raise_application_error(-20000,‘不一样,不能更新‘);
  27. end if;
  28. end if;
  29. if deleting then
  30. dbms_output.put_line(‘deleting‘);
  31. end if;
  32. end;

Java代码  

  1. Class.forName("oracle.jdbc.driver.OracleDriver");
  2. Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "******");
  3. // 创建状态
  4. Statement stmt = conn.createStatement();
  5. // 执行SQL语句,返回结果集
  6. ResultSet rs = stmt.executeQuery("SELECT * FROM person");
  7. while (rs.next()) {
  8. int id = rs.getInt("id");
  9. String userName = rs.getString("user_name");
  10. System.out.println("id: "+id);
  11. System.out.println("userName: "+userName);
  12. }
  13. int num=stmt.executeUpdate("update person set user_name =‘zwllxs5‘ where id = 3");
  14. System.out.println("num: "+num);
时间: 2024-12-15 08:43:55

oracle触发器及异常处理 简单例子的相关文章

Oracle中的存储过程简单例子

---创建表 create table TESTTABLE ( id1  VARCHAR2(12), name VARCHAR2(32) ) select t.id1,t.name from TESTTABLE t insert into TESTTABLE (ID1, NAME) values ('1', 'zhangsan'); insert into TESTTABLE (ID1, NAME) values ('2', 'lisi'); insert into TESTTABLE (ID1

关于oracle触发器的两个小例子

今天接到一个任务,需要修改触发器,因为好久都没有看过关于oracle触发器的东东了,所以这里通过两个简单的小例子复习下触发器,以备忘. 1. 案例一 需求:建立触发器,判断员工工资,如果小于0,则改为0:如果大于10000,则改为10000 建表: create table emp1( e_id number primary key not null, e_no number, e_name varchar2(20), e_sal number ) select * from emp1; cre

简单入门的Oracle触发器使用

--建表语句create table student(id number(9),name varchar2(64),age number(5));create table class(id number(9),name varchar2(64),teacherid number(9),studentid number(9));create table teacher(id number(9),name varchar2(64),age number(5)); --学生信息 insert into

(转)oracle触发器使用:after insert 与before insert的简单使用注意

本文转载自:http://blog.csdn.net/kuangfengbuyi/article/details/41446125 创建触发器时,触发器类型为after insert , 在begin中 Select fieldA into v_a from tableA; 执行到此句时,会出错: --弹出错误信息提示 --ORA-04091:表tr_table发生了变化触发器/函数不能读它 --ORA-06512: 在iu_table line 2 --ORA-04088: 触发器iu_tab

问题:Oracle出发器;结果:1、Oracle触发器详解,2、Oracle触发器示例

ORACLE触发器详解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8.2.5 使用触发器谓词 8.2.6 重新编译触发器 8.3 删除和使能触发器 8.4 触发器和数据字典 8.5   数据库触发器的应用举例 触发器是许多关系数据库系

oracle 触发器 学习笔记

触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们. 功能: 1. 允许/限制对表的修改 2. 自动生成派生列,比如自增字段 3. 强制数据一致性 4. 提供审计和日志记录 5. 防止无效的事务处理 6. 启用复杂的业务逻辑 开始 create trigger biufer_employees_department_id before insert or update of department_id on employees referencing old

ORACLE PL/SQL异常处理(Exception)学习笔记

1.PL/SQL错误类型 错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理子程序引发并进行捕获 2.异常的声明 有两种异常:用户自定义异常和预定义异常 用户自定义异常就是由程序员自己定义的一个错误.该错误还不是非常重要,所以并没有将整个错误包含在Oracle的错误中.例如,它可能是一个与数据有关的错误.而预定义异常则对应于一般的SQL和PL/SQL错误. 用户自定义异常是

【转】android json解析及简单例子

JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON Vs XML 1.JSON和XML的数据可读性基本相同 2.JSON和XML同样拥有丰富的解析手段 3.JSON相对于XML来讲,数据的体积小 4.JSON与JavaScript的交互更加方便

Oracle 触发器在日志管理开发中的应用

摘要: 本文讨论了利用数据库中的触发器对日志管理进行设计与实现的方法, 是对原来在客户端软件中编写日志管理方法的一种改进, 并给出了 Oracle9i 中的实例演示.关键词: Oracle; 触发器; 日志管理中图分类号: TP311文献标识码: A文章编号: 1009- 3044(2008)16- 21186- 02The Application of Oracle Trigger in the Developing of Log ManagementWU Heng- liang, ZHANG