-
數據庫出發器的基本概念 每當一個特定的數據操作語句(insert,update,delete) 在制定的表上發出 (前一步或者后一步)時,Oracle自動的執行觸發器中定義的語句序列。?
第一個觸發器:每當成功插入新員工后,自動打印"成功插入新員工" 觸發器(trigger)?
如何創建觸發器?
create trigger saynewmp?
after
?insert on emp?
declare
?begin?
?dbms_output.put_line('成功插入新員工') ;?
end;
?/
查看全部 -
觸發器是特殊的存儲過程
觸發器的應用場景:?
復雜的安全性檢查
數據確認
數據審計功能
完成數據的備份和同步
查看全部 -
觸發器的應用場景: 1.復雜的安全性檢查 2.數據確認 3.數據審計功能 4.完成數據的備份和同步
查看全部 -
行級觸發器之前和之后的值。
查看全部 -
觸發器的創建語法
查看全部 -
觸發器的應用場景: 1.復雜的安全性檢查 2.數據確認 3.數據審計功能 4.完成數據的備份和同步
查看全部 -
create trigger users after insert on user declare begin out(插入新員工) end /查看全部
-
觸發器是在執行插入,更新,刪除語句時,會自動調用。 create trigger 創建觸發器查看全部
-
函數:raise_application_error(error_code,error_messege);
error_code要小于-20000
查看全部 -
觸發器應用場景:
復雜的安全性檢查
數據確認
實現審計功能
完成數據的備份與同步
觸發器的類型:
語句級觸發器
行級觸發器
查看全部 -
create or replace trigger sync_salary after update on emp for each row begin - -當主表更新后,自動更新備份表 update emp_back set sal=:new.sal where empno=:new.empno; end;查看全部
-
create or replace trigger do_audit_emp_salary after update on emp for each row begin - - 當漲后的薪水大于6000,插入審計信息 if :new.sal > 6000 then insert into audit_info values(:new.empno||' '||:new.ename||' '||:new.sal); end if; end;查看全部
-
create or replace trigger checksalary before update on emp for each row begin - - if漲后的薪水 < 漲前的薪水 then if :new.sal < :old.sal then raise_appliacation_error(-20002,'漲后的薪水不能少于漲前的薪水。漲前的薪水:'||:new.sal||'漲前的薪水:'||:old.sal); end if; end;查看全部
-
create or replace trigger securityemp before insert on emp begin if to_char(sysdate,'day')in('星期六','星期日') or to_number(to_char(sysdate,'hh24'))not between 9 and 18 then - - 禁止insert新員工 raise_application_error(-20001,'禁止在非工作時間插入新員工'); end if; end查看全部
-
create or replace trigger raisesal before update on emp for each row begin if '漲錢的工資'<“張厚的工資” raise_application_error(-20001,"錯誤"); end if; end;查看全部
舉報