Oracle學習之觸發器

2021-10-07 23:23:27 字數 833 閱讀 4253

觸發器,顧名思義,必須由事件觸發(dml事件,ddl事件,資料庫事件)

dml(資料操縱語句):insert,update,delete

ddl(資料定義語句):create,alter,drop

資料庫事件:startup,shutdown,logon,logoff,servererror

語法:

cteate or replace trigger 觸發器名

before | after

insert | delete | update on table_name

[for each row]

[when (condition)]

觸發器操作前後的值:

:new 完成後值       :old 完成前值

特性insert

update

delete

oldnull

實際值實際值

new實際值

實際值null

限制:

①在dml語句中不能用commit,rollback(控制語句)

②由觸發器所呼叫的過程或函式不能使用控制語句

③觸發器中不能定義long和long raw變數

④觸發器大小不能超過32kb

啟用/禁用觸發器:

alter trigger 觸發器名 enable/disable;

重新編譯:

alter trigger 觸發器名 compile;

oracle之觸發器

1 oracle中觸發器是當進行操作時觸發事情,進行處理。例如進行對資料表進行插入 更新和刪除時進行觸發事情處理。定義觸發器的是 create or replace trigger before after insert update delete on 資料庫表名 for each row 這是表...

Oracle之觸發器

資料庫觸發器是乙個與表相關聯的 儲存的pl sql程式。每當乙個特定的資料操作語句 insert,update,delete 在指定表上發出時,oracle自定地執行觸發器中定義的語句序列。簡單的來說就當某個條件成立的時候,觸發器裡面所定義的語句就會被自動的執行,因此觸發器不需要人為的去呼叫,也不能...

oracle觸發器學習

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