快速學習Oracle 觸發器

2021-10-01 13:33:03 字數 1448 閱讀 1320

簡介

資料庫觸發器是乙個與表相關聯的、儲存的 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...