Oracle之函式與觸發器

2021-04-14 22:12:05 字數 1982 閱讀 1634

資料庫中函式包含四個部分:宣告、返回值、函式體和異常處理

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...