Oracle初探(八)
来源:互联网 发布:日立有挖机软件吗 编辑:程序博客网 时间:2024/06/07 00:03
触发器和条件谓词,笔记为:
------------触发器/* create or replace trigger 名称 after/before insert/update/delete on emp begin end; 开启触发器 insert/update/delete操作*/set serveroutput on;create or replace trigger trigger_addafter insert on empbegin dbms_output.put_line('boom shakalaka!!');end;/insert emp value(1001);create or replace trigger trigger_t1before delete on empbegin if to_char(sysdate,'day') in ('星期四','星期日') then raise_application_error(-20001,'今天是周末,数据库要休息!!'); end if;end;--------------条件谓词:可以同时执行dml所有操作 ----监控emp表的操作(编号、操作人,操作时间、操作动作)create table emp_log( log_id number(8) primary key, username varchar2(20), op_date date, op_content varchar2(20));create sequence seq_id;create or replace trigger trigger_logafter insert or delete or update on empdeclare v_content varchar2(20);begin case when inserting then v_content :='增加'; when deleting then v_content :='删除'; when updating then v_content :='更新'; end case; insert into emp_log values(seq_id.nextval,user,sysdate,v_content); end;/----------------old、new-------------删除表中的数据,然后通过触发器提供的伪表方式来进行备份操作 (t1表做为示例)-------update操作old、new表 :new、:old (同步备份)-------delete操作old表 :old (要备份)-------insert操作new表 :new (不用备份)create table t1(tid number(8),tname varchar2(20));---1、创建一张伪表create table copyt1 as select * from t1 where 1<>1;--2、创建数据备份的触发器 create or replace trigger trigger_copyt1after delete on t1for each rowbegin --当t1表中的数据被删除,则往copyt1表中插入被删除的数据 insert into copyt1 values (:old.tid,:old.tname);end;/ -----------------------------修改数据,备份表数据同步更新create or replace trigger trigger_copyt2after update on t1for each rowbegin --当源表直接更新,则备份表数据同步更新 update copyt1 set tname = :new.tname where tid = :old.tid;end;/
0 0
- Oracle初探(八)
- 多线程初探(八)
- 集合初探(八)
- tolua++初探(八)(转)
- Oracle初探(一)
- Oracle初探(二)
- Oracle初探(三)
- Oracle初探(四)
- Oracle初探(五)
- Oracle初探(六)
- Oracle初探(七)
- python3爬虫初探(八)requests
- oracle体系结构(八)
- Oracle(八)老师
- Oracle-BPM(八)
- Oracle-BPM(八)
- Oracle初探
- ORACLE初探
- 【前端学习笔记】原生Javascript中的ajax
- MySQL数据库引擎详解
- iOS开发 - 19.手势解锁
- 关于少林事件的一点看法
- 深度学习总结
- Oracle初探(八)
- 10年工作经验老程序员推荐的7个开发类工具
- C语言 内存泄露(只对XP有效果)
- 【前端学习笔记】原生Javascript中通过JSONP(前端常用方法)进行跨域
- nodejs
- 整理:深度学习 vs 机器学习 vs 模式识别
- C++_避免调用复制构造函数
- Linux下chkconfig命令详解
- scikit-learn(工程中用的相对较多的模型介绍):1.12. Multiclass and multilabel algorithms