pl/sql是一種高級數(shù)據(jù)庫程序設(shè)計(jì)語言,用于在各種環(huán)境下對數(shù)據(jù)庫進(jìn)行訪問。由于該語言集成于數(shù)據(jù)庫服務(wù)器中,所以它可以對數(shù)據(jù)進(jìn)行快速高效的處理。
pl/sql代表面向過程化的語言與SQL語言的結(jié)合。在SQL語言中擴(kuò)展了面向過程語言中使用的程序結(jié)構(gòu)。
*變量和類型
*控制語句和循環(huán)
*過程和函數(shù)
*對象類型和方法
PL/SQL的基本特點(diǎn):
塊結(jié)構(gòu):
PL/SQL程序的基本結(jié)構(gòu)是塊。所有的PL程序都是由塊組成,這些塊可以互相簽套。通常,程序中的每一塊都實(shí)現(xiàn)一個(gè)邏輯操作,從而把不同的任務(wù)進(jìn)行分割。
DECLARE
/*
declare variables,types,cursors and local
subprograms
*/
BEGIN
/*
executable section
*/
EXCEPTION
/*
exception -handling
*/
END;
執(zhí)行部分是必須的,聲明部分和異常處理部分是可選的。PL/SQL塊采用這種分段結(jié)構(gòu)將程序不同功能各自獨(dú)立出來。
變量和類型
信息在數(shù)據(jù)庫與PL/SQL程序間通過變量進(jìn)行傳遞的。變量是在PL/SQL塊的生命部分定義的。變量還支持自定義的數(shù)據(jù)類型,如記錄類型等,使用用戶自定義的數(shù)據(jù)類型可以讓你定制程序中使用的數(shù)據(jù)類型結(jié)構(gòu)。
DECLARE
TYPE T_stu IS RECORD(
firstname VARCHAR2(10)
);
v_student T_stu;
游標(biāo)
游標(biāo)是用來處理使用SELECT語句從數(shù)據(jù)庫中檢瑣到的多行記錄的工具。數(shù)據(jù)庫應(yīng)用程序可以對一組記錄逐個(gè)進(jìn)行處理,每次處理一行。
過程和函數(shù)
是PL/SQL塊的一種特殊類型,可以以編譯的形式存放在數(shù)據(jù)庫中,為以后的程序塊調(diào)用。
包
包有2部分組成:說明部分和包體。一個(gè)包可以帶有多個(gè)相關(guān)的過程。
動態(tài)SQL
在運(yùn)行期間構(gòu)造并執(zhí)行SQL語句。
對象類型(oracle8上的版本)
由屬性和方法組成并可以存儲在數(shù)據(jù)庫表中。