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會話中建立和示例一 個簡...