oracle筆記 觸發器

2021-06-18 10:04:58 字數 1033 閱讀 9558

--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...