--1. 禁止員工在休息日改變雇員資訊
create or replace trigger tri_emp
before insert or update or delete on emp
begin
if to_char(sysdate ,'day','nls_date_language=american')
in ('sat','sun') then
case when inserting then
when updating then
when deleting then
end case;
end if;
end;
---2. 限制員工的工資不能超過當前的最高工資
create or replace trigger tri_emp_salary before update of sal on emp
for each row
declare
max_salary number;
begin
select max(sal) into max_salary from emp;
if :new.sal > max_salary then
end if;
end;
update emp set sal = 7777 where empno = 7369
select sal from emp where empno = 7369
--3. 設定員工的工資不能低於原工資,但也不能高出原工資的20%
create or replace trigger tri_update_salary
before update of sal on emp for each row
when ( new.sal < old.sal or new.sal >old.sal*0.2)
begin
end;
update emp set sal = 666 where empno=7369
oracle 觸發器筆記
什麼是觸發器 觸發器是乙個特殊的儲存過程,儲存過程和儲存函式是完成特定功能的乙個pl sql程式,觸發器也是乙個pl sql程式 觸發器的作用 每當乙個特定的資料庫操作語句 insert,update,delete 在指定的表上發出時,oracle自動地執行觸發器中定義的語句序列 觸發器的應用場景 ...
oracle筆記觸發器
pl sql觸發器知識點 行級觸發器 每更新 employees 表中的一條記錄,都會導致觸發器執行 語句級觸發器 乙個 update delete insert 語句只使觸發器執行一次 乙個helloworld級別的觸發器 create or replace trigger hello trigg...
oracle筆記九(觸發器)
觸發器 分類 a dml觸發器 b 替代觸發器 c 系統觸發器 建立dml觸發器 create or replace trigger tri delemp before delete on scott.emp for each row begin insert into emp history em...