簡介
資料庫觸發器是乙個與表相關聯的、儲存的 pl/sql 程式。每當乙個特定的資料操作語句(insert,update,delete)在指定的表上發出時,oracle 自動地執行觸發器中定義的語句序列。
觸發器可用於
觸發器的型別
語法
create [or replace] trigger 觸發器名
on 表名
[for each row [when(條件) ] ]
begin
plsql 塊 end 觸發器名
範例:插入員工後列印一句話「乙個新員工插入成功」
create or replace trigger testtrigger
after insert on person
declare
-- local variables here
begin
dbms_output.put_line('乙個員工被插入');
end testtrigger;
範例:不能在休息時間插入員工
create or replace trigger validinsertperson
before insert on person
declare
weekend varchar2(10);
begin
select to_char(sysdate, 'day') into weekend from dual;
if weekend in ('星期一') then
end if;
end validinsertperson;
當執行插入時會報錯
在觸發器中觸發語句與偽記錄變數的值
範例:判斷員工漲工資之後的工資的值一定要大於漲工資之前的工資
create or replace trigger addsal4p
before update of sal on myemp
for each row
begin
if :old.sal >= :new.sal then
end if;
end;
呼叫
update myemp t set t.sal = t.sal - 1;
oracle觸發器學習
下面介紹乙個簡單的觸發器例子,觸發器實現向a表插入資料的時候,自動向b表插入資料。1.先建立a,b兩個表 create table a stdid int,stdname varchar2 10 create table b stdid int,stdname varchar2 10 2.建立觸發器...
ORACLE觸發器學習
第一節 觸發器簡介 具備某些條件,由資料庫自動執行的一些 dml 操作行為。第二節 語句觸發器 語句觸發器針對整個表,作用整個表操作 語法結構 create trigger 觸發器名稱 before after 觸發動作 on 作用物件 觸發器謂詞 inserting updating deleti...
Oracle學習之觸發器
觸發器,顧名思義,必須由事件觸發 dml事件,ddl事件,資料庫事件 dml 資料操縱語句 insert,update,delete ddl 資料定義語句 create,alter,drop 資料庫事件 startup,shutdown,logon,logoff,servererror 語法 cte...