Oracle中的觸發器建立執行個體

來源:互聯網
上載者:User

資料庫觸發器是與資料庫中某個資料表、視圖或事件相關聯的儲存子程式。舉一個例子,我們可以讓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;

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.