ORACLE觸發器學習

2021-08-04 11:56:49 字數 1847 閱讀 9917

第一節:觸發器簡介

具備某些條件,由資料庫自動執行的一些 dml 操作行為。

第二節:語句觸發器

語句觸發器針對整個表,作用整個表操作; 語法結構: create trigger 觸發器名稱 before/after 觸發動作 on

作用物件 觸發器謂詞:inserting、updating、deleting

建立觸發器並使用:

create trigger tr_book//建立觸發器

before insert//在執行insert前觸發

on t_book//在哪個表觸發

begin

if user!= 'cc'

then

endif; end;

語句執行效果:

sql> create trigger tr_book

2 before insert

3on t_book

4begin

5if user!= 'cc'

then

7end

if; 8

end;

9 /

trigger created

//建立完成後,去t_book表中插入資料時,如果不是cc使用者下會報「ora20001許可權不足」錯誤後面的操作也是根據對t_book表進行操作而觸發某動作

觸發器謂詞的使用

create

trigger tr_book_log

before

insert

orupdate

ordelete

on t_book

begin

if updating then

insert

into t_book_log values(user,'update',sysdate);

else if inserting then

insert

into t_book_log values(user,'insert',sysdate);

else if deleting then

insert

into t_book_log values(user,'delete',sysdate);

endif;

endif;

endif;

end;

第三節:行觸發器

行觸發器針對行記錄。

語法結構: create trigger

觸發器名稱 before/after

觸發動作 for each row

on 作用物件 觸發器內建變數 :old :new

行觸發器例子:

create

trigger tr_book_add

after

insert

on t_book

foreach

rowbegin

update t_booktype set num=num+1

where id=:new.typeid;

end;

第四節:觸發器禁用和開啟

禁用觸發器: alter trigger 觸發器名稱 disable

啟用觸發器: alter trigger 觸發器名稱 enable

alter

trigger tr_book_add disable;

oracle觸發器學習

下面介紹乙個簡單的觸發器例子,觸發器實現向a表插入資料的時候,自動向b表插入資料。1.先建立a,b兩個表 create table a stdid int,stdname varchar2 10 create table b stdid int,stdname varchar2 10 2.建立觸發器...

快速學習Oracle 觸發器

簡介 資料庫觸發器是乙個與表相關聯的 儲存的 pl sql 程式。每當乙個特定的資料操作語句 insert,update,delete 在指定的表上發出時,oracle 自動地執行觸發器中定義的語句序列。觸發器可用於 觸發器的型別 語法create or replace trigger 觸發器名 o...

Oracle學習之觸發器

觸發器,顧名思義,必須由事件觸發 dml事件,ddl事件,資料庫事件 dml 資料操縱語句 insert,update,delete ddl 資料定義語句 create,alter,drop 資料庫事件 startup,shutdown,logon,logoff,servererror 語法 cte...