Oracle中的触发器创建实例

WBOY
發布: 2016-06-07 16:58:35
原創
1085 人瀏覽過

数据库触发器是与数据库中某个数据表、视图或事件相关联的存储子程序。举一个例子,我们可以让Oracle数据库在INSERT、UPDATE或DE

数据库触发器是与数据库中某个数据表、视图或事件相关联的存储子程序。举一个例子,,我们可以让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;

linux

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!