Oracle PL/SQL語言基礎(chǔ)(3)
發(fā)布時間:2008-10-01 閱讀數(shù): 次 來源:網(wǎng)樂原科技
函數(shù)
函數(shù)是命名了的、存儲在數(shù)據(jù)庫中的PL/SQL程序塊。函數(shù)接受零個或多個輸入?yún)?shù),有一個返回值,返回值的數(shù)據(jù)類型在創(chuàng)建函數(shù)時定義。定義函數(shù)的語法如下:
FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers]
END [name]
過程
存儲過程是一個PL/SQL程序塊,接受零個或多個參數(shù)作為輸入(INPUT)或輸出(OUTPUT)、或既作輸入又作輸出(INOUT),與函數(shù)不同,存儲過程沒有返回值,存儲過程不能由SQL語句直接使用,只能通過EXECUT命令或PL/SQL程序塊內(nèi)部調(diào)用,定義存儲過程的語法如下:
PROCEDURE name [(parameter[,parameter,...])] IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers ]
END [name]
包(package)
包其實就是被組合在一起的相關(guān)對象的集合,當(dāng)包中任何函數(shù)或存儲過程被調(diào)用,包就被加載入內(nèi)存中,包中的任何函數(shù)或存儲過程的子程序訪問速度將大大加快。包由兩個部分組成:規(guī)范和包主體(body),規(guī)范描述變量、常量、游標(biāo)、和子程序,包體完全定義子程序和游標(biāo)。
觸發(fā)器(trigger)
觸發(fā)器與一個表或數(shù)據(jù)庫事件聯(lián)系在一起的,當(dāng)一個觸發(fā)器事件發(fā)生時,定義在表上的觸發(fā)器被觸發(fā)。