数据库触发器是与数据库中某个数据表、视图或事件相关联的存储子程序。举一个例子,我们可以让Oracle数据库在INSERT、UPDATE或DELETE表达式影响一个表之前或之后来自动激活一个触发器。触发器的用途之一就是审核数据修改。例如,下面的表级(table-level)触发器会在emp表的salaries字段更新后被激活。
CREATE TRIGGER audit_sal
AFTER UPDATE OF sal
ON emp
FOR EACH ROW
BEGIN
INSERT INTO emp_audit
VALUES ...
END;
************实例!!!!!******************1。先创建emp_audit表:create table emp_audit(information varchar2(50), update_today date);2。如果没有emp表,请创建emp表:create table emp(
EMPNO NUMBER(4) primary key,
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2));并插入数据:insert into emp values(7368, "SMITH1", "CLERK", 7902, sysdate, 13.00,null,20);3。创建触发器:CREATE TRIGGER audit_sal
AFTER UPDATE OF sal
ON emp
FOR EACH ROW
BEGIN
INSERT INTO emp_audit
VALUES("successful",sysdate);
END;
******************************1。执行更新emp操作:update emp set sal=1300 where empno=7368;2。查看emp更新后的数据:select * from emp;3。 查看emp_audit的数据:select * from emp_audit;Oracle去除重复记录 不用distinct 支持hibernateLinux 安装Oracle的shell脚本相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)