oracle 觸發器案例

2021-07-14 19:40:15 字數 702 閱讀 3985

例1: 建立乙個觸發器, 當職工表 emp 表被刪除一條記錄時,把被刪除記錄寫到職工表刪除日誌表中去。

*create table emp_his as select from emp where 1=2;

create or replace trigger tr_del_emp

before delete –指定觸發時機為刪除操作前觸發

on scott.emp

for each row –說明建立的是行級觸發器

begin

–將修改前資料插入到日誌記錄表 del_emp ,以供監督使用。

insert into emp_his(deptno , empno, ename , job ,mgr , sal , comm , hiredate )

values( :old.deptno, :old.empno, :old.ename , :old.job,:old.mgr, :old.sal, :old.comm, :old.hiredate );

end;

delete emp where empno=7788;

drop table emp_his;

drop trigger del_emp;**

例2:限制對departments表修改(包括insert,delete,update)的時間範圍,即不允許在非工作時間修改departments表。

Oracle觸發器案例

建立表 create table emp empno number ename varchar2 32 str varchar2 32 create or replace trigger emp trigger before insert on emp for each row declare ps...

oracle序列及觸發器案例

oracle在建立表時和其他的資料庫有點不一樣,如sql server可以在int型別的字段後加上identity 1,1 該字段就會從1開始,按照 1的方式自增,將這個字段設定為主鍵,有利於我們進行資料的插入操作。mysql中可以使用 auto increment 即可。但是oracle有點麻煩,...

ORACLE觸發器 行級觸發器

行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...