Oracle 行級觸發器學習

2021-05-08 09:13:15 字數 1029 閱讀 3570

oracle 觸發器有語句級觸發器和行級觸發器

語句級觸發器  當刪除部門表中的部門號時,同時刪除掉員工表中部門號為:old.deptno的記錄

create or replace trigger del_dept_id

after delete on dept

for each row

begin

delete from emp where deptno=:old.deptno;

end;

當往部門表插入時,同時在員工表中插入一句,其中:new.deptno 為插入的部門編號

create or replace trigger insert_dept

after insert on dept

for each row

begin

insert into emp(empno,ename,job,mgr,sal,hiredate,deptno) values('1234','james','job',7566,3456,sysdate,:new.deptno);

end;

修改時:

create or replace trigger update_dept

after update on dept

for each row

begin

update emp set deptno=:new.deptno  where deptno=:old.deptno;

end;

上面的new 表和old表是在記憶體當中的

我們對哪個表進行了delete那麼old表就和他的結構一樣

我們對哪個表進行了insert那麼new表就和他的結構一樣

插入資料時候先插入到new表中,然後在插入實際的表中

刪除資料時候先把資料放在old表中,提交後在從old表中刪除

insert涉及new表

delete涉及old表

update涉及old和new表

觸發器中不能寫rollback也不能寫dbms_output.putline

ORACLE觸發器 行級觸發器

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

Oracle觸發器介紹 行級觸發器

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

Oracle觸發器介紹 行級觸發器

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