資源描述:
《最新PLSQL開發(fā)(精)教學講義PPT.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、PLSQL開發(fā)(精)本章要點PL/SQL基本概念PL/SQL的變量PL/SQL的基本語法Oracle各種程序單元使用游標取出多條數(shù)據(jù)異常處理PL/SQL概述什么是PL/SQLPL/SQL也是一種程序語言,被稱作支持SQL的程序語言(ProgramLanguage),是Oracle數(shù)據(jù)庫對SQL語句的擴展,在普通的SQL語言中增加了編程語言的特點數(shù)據(jù)操作和查詢語句被包含在PL/SQL代碼的過程性單元中,經(jīng)過邏輯判斷、循環(huán)等操作完成復雜的功能或者計算PL/SQL提高了性能DatabaseDatabaseSQLSQLSQLSQLSQLIF...THENSQLE
2、LSESQLENDIF;SQL應用程序應用程序PL/SQL塊的基本結(jié)構(gòu)PL/SQL中起作用的部分都是由基本塊組成的.基本塊有四個組成部分聲明部分:DECLARE–可選部分變量、常量、游標、用戶定義異常聲明執(zhí)行體開始部分:BEGIN–必要部分SQL語句PL/SQL語句異常處理部分:EXCEPTION–可選部分程序出現(xiàn)異常時,捕捉異常并處理異常執(zhí)行體結(jié)束:END;–必要部分PL/SQL塊例子DECLAREv_dept_idemployees.department_id%TYPE;BEGINSELECTdepartment_idINTOv_dept_idFRO
3、MemployeesWHEREemployee_id=100;DELETEdepartmentsWHEREdepartment_id=v_dept_id;COMMIT;EXCEPTIONWHENOTHERSTHENROLLBACK;INSERTINTOexception_table(message)VALUES(‘Someerroroccurredinthedatabase.’);COMMIT;END;PL/SQL環(huán)境PL/SQLBlockPL/SQL引擎oracle數(shù)據(jù)庫PL/SQLBlockProceduralStatementExecutornon
4、-SQLSQLSQLStatementExecutorSQL引擎在數(shù)據(jù)庫執(zhí)行PL/SQL程序的時候,PL/SQL語句和SQL語句被分別解析和執(zhí)行的。PL/SQL塊被數(shù)據(jù)庫內(nèi)部的PL/SQL引擎提取,將SQL語句取出送給Oralce的SQL引擎。兩種語句分別在兩種引擎中分析處理,在數(shù)據(jù)庫內(nèi)部完成數(shù)據(jù)交互,處理的過程在PL/SQL中處理變量在聲明部分聲明和初始化變量在執(zhí)行部分為變量賦新值,或在表達式中使用變量在異常處理部分也可以使用變量通過參數(shù)把值傳遞到PL/SQL塊中通過輸出變量或者參數(shù)將值傳出PL/SQL塊聲明變量和常量:語法定義的標示符名稱應遵循命名規(guī)
5、則在聲明常量和變量的時候可以為其設置初始化值,也可以設置NOTNULL可以使用賦值運算符(:=)或者DEFAULT保留字來初始化標識符在聲明時,每行只能聲明一個標識符identifier[CONSTANT]datatype[NOTNULL][:=
6、DEFAULTexpr];例如:v_total_salNUMBER(9,2):=0;c_tax_rateCONSTANTNUMBER(3,2):=8.25;v_genderCHAR(1);v_validBOOLEANNOTNULL:=TRUE;PL/Sql中的變量類型簡單變量復合(組合)變量外部變量簡單變量簡單
7、變量不包括任何組件,只能保存一個值基本類型包括三大類:字符,數(shù)字,日期BINARY_INTEGER整形數(shù)字NUMBER[(precision,scale)]數(shù)字類型CHAR[(maximum_length)]定長字符類型VARCHAR2(maximum_length)變長字符類型DATE日期類型LONG長字符類型LONGRAW長二進制類型CLOB/BLOB/BFILE大對象類型(字符大對象,二進制大對象,操作系統(tǒng)文件大對象)BOOLEAN布爾類型,有效值為TRUE,FALSE,NULL簡單變量的聲明v_genderCHAR(1);v_countBINAR
8、Y_INTEGER:=0;v_total_salNUMBER(9,2):=0;v_order_dateDATE:=SYSDATE+7;c_tax_rateCONSTANTNUMBER(3,2):=8.25;v_validBOOLEANNOTNULL:=TRUE;復合數(shù)據(jù)類型復合變量也叫做組合變量.在復合變量中包含多個內(nèi)部的組件,每個組件都可以單獨存放值.一個復合變量可以存放多個值與簡單變量類型不同,復合變量類型不是數(shù)據(jù)庫中已經(jīng)存在的數(shù)據(jù)類型,所以復合變量在聲明類型之前,首先要創(chuàng)建使用到的復合類型,然后將變量聲明為復合變量復合數(shù)據(jù)類型:PL/SQLTABL
9、ES表類型PL/SQLRECORDS記錄類型復合類型被創(chuàng)建后,可以被使用多次定義