幾個基本概念 1. PL/SQL 概述 PL/SQL is Oracle 's procedural extension to industry-standard SQL. PL/SQL naturally, efficiently, and safel" name="description" />
PL/SQLMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">幾個基本概念
1. PL/SQL概述
PL/SQL is Oracle's procedural extension to industry-standard SQL. PL/SQL naturally, efficiently, and safely extends SQL. Its primary strength is in providing a server-side, stored procedural language that is easy-to-use, seamless with SQL, robust, portable, and secure.
PL/SQL語言是Oracle公司對標準SQL語言的過程化擴展。它將SQL語言(4GL)的強大靈活性與3GL的過程性結構融為一體。
PL/SQL是Procedural Language/SQL的縮寫。正如其名字所示,PL/SQL通過增加了用在其他過程性語言中的結構來對SQL進行了擴展,例如:
變量和類型(包括預定義和用戶自定義)。
控制結構,如IF-THEN-ELSE語句和循環。
過程和函數。
對象類型和方法
2. 游標
游標用來處理從數據庫中檢索的多行記錄(使用SELECT語句)。利用游標,程序可以逐個地處理和遍歷一次檢索返回的整個記錄集。
為了處理SQL語句,Oracle將在內存中分配一個區域,這就是上下文區。這個區包含了已經處理完的行數、指向被分析語句的指針,整個區是查詢語句返回的數據行集。游標就是指向上下文區句柄或指針。
2.1 顯示游標
顯示游標被用于處理返回多行數據的SELECT 語句,游標名通過CURSOR….IS 語句顯示地賦給SELECT 語句。
在PL/SQL中處理顯示游標所必需的四個步驟:
1)聲明游標;CURSOR cursor_name IS select_statement
2)為查詢打開游標;OPEN cursor_name
3)取得結果放入PL/SQL變量中;
FETCH cursor_name INTO list_of_variables;
FETCH cursor_name INTO PL/SQL_record;
4)關閉游標。CLOSE cursor_name
注意:在聲明游標時,select_statement不能包含INTO子句。當使用顯示游標時,INTO子句是FETCH語句的一部分。
2.2 隱式游標
所有的隱式游標都被假設為只返回一條記錄。
使用隱式游標時,用戶無需進行聲明、打開及關閉。PL/SQL隱含地打開、處理,然后關掉游標。
例如:
…….
SELECT studentNo,studentName
INTO curStudentNo,curStudentName
FROM StudentRecord
WHERE name=’gg’;
上述游標自動打開,并把相關值賦給對應變量,然后關閉。執行完后,PL/SQL變量curStudentNo,curStudentName中已經有了值。