首页 > 代码库 > oracle触发器及异常处理 简单例子
oracle触发器及异常处理 简单例子
Java代码
- create sequence person_seq
- start with 1
- increment by 1
- order --按顺序
- nocycle --不循环不重复
- ;
- insert into person values(person_seq.nextval,null,‘iteye);
- delete from person;
- update person set user_name =‘zwllxs6‘ where id = 3;
- ---触发器
- create or replace trigger person_tr before insert or update or delete on person
- for each row
- Declare
- can_not_update_exception EXCEPTION;
- begin
- dbms_output.put_line(‘testest‘);
- if inserting then
- dbms_output.put_line(‘inserting‘);
- end if;
- if updating then
- dbms_output.put_line(‘updating‘);
- dbms_output.put_line(‘old: ‘||:old.user_name);
- dbms_output.put_line(‘new: ‘||:new.user_name);
- if(:old.user_name<>:new.user_name) then
- dbms_output.put_line(‘不一样,不能更新‘);
- Raise_application_error(-20000,‘不一样,不能更新‘);
- end if;
- end if;
- if deleting then
- dbms_output.put_line(‘deleting‘);
- end if;
- end;
Java代码
- Class.forName("oracle.jdbc.driver.OracleDriver");
- Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "******");
- // 创建状态
- Statement stmt = conn.createStatement();
- // 执行SQL语句,返回结果集
- ResultSet rs = stmt.executeQuery("SELECT * FROM person");
- while (rs.next()) {
- int id = rs.getInt("id");
- String userName = rs.getString("user_name");
- System.out.println("id: "+id);
- System.out.println("userName: "+userName);
- }
- int num=stmt.executeUpdate("update person set user_name =‘zwllxs5‘ where id = 3");
- System.out.println("num: "+num);
oracle触发器及异常处理 简单例子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。