--1.在使用者scott的dept表上建立乙個行級觸發器,
--當dept表的部門號發生修改時,emp表中該部門員工的部門號隨之發生變化,
--當某部門被刪除時,emp表中該部門員工的部門號也隨之刪除。
create or replace trigger c4
after update or delete
on dept --在執行修改部門號和刪除操作後觸發。
for each row--觸發器型別為行級觸發器。
begin
if updating then
update emp set deptno=:new.deptno where deptno=:old.deptno;-- emp表中該部門員工的部門號隨之發生變化。
end if;
if deleting then
delete from emp where deptno=:old.deptno;-- emp表中該部門員工的部門號也隨之刪除。
end if;
end;
--2.在使用者scott的emp表上建立乙個行級觸發器,當發生修改時,
--將被修改員工修改後的雇員編號,姓名和工資存入empbk表;當被刪除時,將被刪除員工的雇員編號,姓名和工資存入empbk表。
create table empbk
(empno number(4),ename varchar2(10),sal number(7,2));
create or replace trigger c2
after update or delete on emp--在emp表上執行修改和刪除操作之後觸發。
for each row --觸發器型別為行級觸發器。
begin
if updating then --修改操作時。
insert into empbk(empno,ename,sal) values (:new.empno, :new.ename, :new.sal);
--4.將被修改員工修改後的雇員編號,姓名和工資存入empbk表。
end if;
if deleting then --刪除操作時。
insert into empbk(empno,ename,sal) values (:old.empno, :old.ename, :old.sal); --將被刪除員工的雇員編號,姓名和工資存入empbk表。
end if;
end;
行級觸發器
行級觸發器 1觸發器使用for each row選項 2行級觸發器進行dml操作時,每作用一行就觸發一次。行級觸發器分類 1before行級觸發器 為了確保資料符合商業邏輯和企業規劃,應該使用約束對輸入資料加以限制。在某些情況下約束無法實現複雜的商業邏輯和企業規範,這時候可以使用before行級觸發...
ORACLE觸發器 行級觸發器
行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...
Oracle觸發器介紹 行級觸發器
行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸 髮器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例一 個簡...