資料庫中函式包含四個部分:宣告、返回值、函式體和異常處理。
1create
orreplace
function
getname(sno
varchar2)2
return
varcharis3
name
varchar(12
);4begin
5select
ename
into
name
from
emp
where
empno
=sno;
6return
name;
7exception
8...
12end;13
觸發器是一種特殊的儲存過程,類似於其它程式語言中的事件函式,允許為 insert、update、delete 建立觸發器,當在表(檢視)中插入、更新、刪除記錄(前、後)時,觸發乙個或一系列 t-sql 語句。
建立在student
表上的插入觸發器,當在
student
表中插入資料時候觸發器將被觸發,執行體將被執行
插入觸發器
1create
orreplace
trigger
tg_insert
2before
insert
onstudent
--可設定在插入前或插入後
3begin
4...
5end
;更新觸發器
8create
orreplace
trigger
tg_update
9after
update
onstudent
10for
each row
12begin
13...
14end;15
觸發器兩個特殊行級變數:
:new新值
和
:old舊值
分別代表更新值,被更新的值1
create
orreplace
trigger
tg_insert
2after
update
onstudent
3for
each row
4when
(:old.***
=』j』) --
當old.***為j時候才執行觸發器內容
5begin
7dbms_output.put_line(:new.stuname||'
'||:old.stuname);
8dbms_output.put_line(:new.***||'
'||:old.***);
9end;10
判斷複合型觸發器1
create
orreplace
trigger
trgstudeng
2before
insert
orupdate
ordelete
onstudent
3for
each row
4begin5if
inserting
then
6...
8endif;
9ifdeleting
then
10...
12endif;
13exception
14...
16end;17
觸發器功能強大,可以實現許多複雜的功能,但如果濫用會造成資料庫及應用程式的維護困難。
oracle之觸發器
1 oracle中觸發器是當進行操作時觸發事情,進行處理。例如進行對資料表進行插入 更新和刪除時進行觸發事情處理。定義觸發器的是 create or replace trigger before after insert update delete on 資料庫表名 for each row 這是表...
Oracle之觸發器
資料庫觸發器是乙個與表相關聯的 儲存的pl sql程式。每當乙個特定的資料操作語句 insert,update,delete 在指定表上發出時,oracle自定地執行觸發器中定義的語句序列。簡單的來說就當某個條件成立的時候,觸發器裡面所定義的語句就會被自動的執行,因此觸發器不需要人為的去呼叫,也不能...
oracle 函式和觸發器
create orreplace function edubis.getpxfx v pxfx in varchar2 return varchar2 is pxfx varchar2 1000 begin select wm concat b.codename into pxfx from sel...