一:PLSQL概覽:PLSQL 是Oracle公司在SQL基礎上進行擴展而成的一種過程語言。PLSQL提供了典型的高級語言特 性,包括封裝,例外處理機制,信息隱藏,面向對象等;並把新的編程思想帶到了數據庫服務器和工具 集中。
與Java, C#相比,PLSQL的優勢是:SQL語言可以直接寫到PLSQL的“塊”中或者是PLSQL的過程、 函數中。沒有必要向java那樣先創建Statement對象來執行SQL; 這使得PLSQL成為很強大的事務處理語 言,即:使用SQL來處理數據,使用控制結構來處理業務邏輯。
二:PLSQL塊概念:PLSQL是一種類PASCAL語言,每一段程序都是由Block 組成的
DECLARE(Optional)
Variables, cursors, user-defined exceptions
BEGIN(Mandatory)
SQL statements
PL/SQL statements
EXCEPTION(Optional)
Actions to perform when errors occur
END;(Mandatory)
三:PLSQL變量類型:
1、系統內置的常規簡單變量類型
2、用戶自定義復雜變量類型:比如記錄類型
3、引用類型:保存一個指針
4、大對象類型(LOB):保存了一個指向大對象的地址
四:常用函數介紹:
DBMS_OUTPUT.PUT_LINE ();
輸出,調試時輸出中間變量的值
SELECT INTO 語句:
用於把從數據庫查詢出內容存入變量
INSERT、UPDATE、DELETE 、MERGE語句:
在PLSQL中執行這些SQL語句和直接執行這些語句差不多, 只不過可以在SQL語句中使用PLSQL聲明的變量;
五:PLSQL的控制語句:
①:條件語句
IF condition
THEN statements;
[ELSIF condition
THEN statements;]
[ELSE statements;]
END IF;
CASE selector
WHEN expression1
THEN result1
WHEN expression2
THEN result2 ...
WHEN expressionN
THEN resultN
[ELSE resultN+1;]
END case;
②:循環語句
LOOP
statement1; . . . EXIT [WHEN condition];
END LOOP;
WHILE
condition
LOOP
statement1;
statement2; . . .
END LOOP;
FOR counter IN [REVERSE]
lower_bound..upper_bound
LOOP
statement1; statement2; . . .
END LOOP;