1.0摘要
//簡要說明該文檔內容
SQL是用來訪問關係型數據庫一種通用語言,其執行特點是非過程化,即不用指明執行的具體方法和途徑,而是簡單的調用相應語句來直接取得結果即可。PL/SQL是一種過程化語言,因此可以用來實現比較複雜的業務邏輯。而本篇文章主要講述PLSQL的書寫及語法。
2.0內容
//可自行增加小分類2.1等
1、 PLSQL語法
1.1、程序結構
PL/SQL程序都是以塊(block)爲基本單位。整個PL/SQL塊分三部分:聲明部分(用declare開頭)、執行部分(以 begin開頭)和異常處理部分(以exception開頭)。其中執行部分是必須的,其他兩個部分可選。無論PL/SQL程序段的代碼量有多大,其基本結構就是由這三部分組成。而且每條語句均由分號隔開。
- /*聲明部分,以declare開頭*/
- DECLARE
- --declare statement
- /*執行部分,以begin開頭,以end結束*/
- BEGIN
- --execute statement
- /*異常處理部分,以exception開始*/
- EXCEPTION
- WHEN exceptioncase THEN
- --Exception handle
- END;
例子:
- /*聲明部分,以declare開頭*/
- DECLARE
- v_job NUMBER(10);
- /*執行部分,以begin開頭*/
- BEGIN
- DELETE FROM employee;
- INSERT INTO employee
- (depno, job
- )
- VALUES (20, 30
- );
- SELECT job
- INTO v_job
- FROM employee
- WHERE depno = 20;
- dbms_output.PUT_LINE(v_job);
- /*異常處理部分,以exception開始*/
- EXCEPTION
- WHEN no_data_found THEN
- dbms_output.PUT_LINE('No data.');
- END;
1.2、數據類型
PL/SQL主要用於數據庫編程,所以其所有數據類型跟oracle數據庫裏的字段類型是一一對應的,大體分爲數字型、布爾型、字符型和日期型。
1.3、控制結構
PL/SQL程序段中有三種程序結構:條件結構、循環結構和順序結構。
a)、條件結構
- IF condition1 THEN
- statement1
- ELSEIF conditon2 THEN
- statement2
- ELSE
- statementelse
- END IF;
b)、循環結構
三種循環結構:
- 簡單循環(也稱作無限循環):
- LOOP
- Loopstatement
- END LOOP;
- WHILE 循環:
- WHILE condition LOOP
- loopstatement
- END LOOP;
- 數字FOR循環:
- FOR variable IN low_bound . . upper_bound
- LOOP
- loopstatement
- END LOOP;
通常,如果你總是希望循環主體執行至少一次,那麼你就應當使用一個簡單循環。如果你希望在第一次運行循環主體之前檢查該條件,則應使用 WHILE 循環。當你計劃通過IN子句中指定的每個值(整數或記錄)進行迭代時,則應當使用FOR循環。
c)、順序結構
實際就是goto的運用,不過從程序控制的角度來看,儘量少用goto可以使得程序結構更加的清晰。