【Oracle】-初識PL/SQL
在最近的工作中要用到存儲過程和函數,索性把PL/SQL整體的看一下。之前看過基本書和園子裏的博文,在這裏將所學簡單總結。
一、基本語句
1、大小寫
2、分隔符 -- ;
3、引用字符串 -- ‘ ’
4、括號 -- ( )
二、數據類型
1、標量類型
1>數字類型 -- NUMBER等
2>字符類型 -- CHAR VARCHAR
3>日期類型 -- DATE TIMESTAMP INTERVAL
4>行標識類型 -- ROWID UROWID
5>布爾類型 -- TURE FALSE NULL
2、復合類型
1>記錄 -- 類似C語言的結構體
2>聯合數組
3>嵌套表
4>變長數組
3、引用類型
1>遊標
2>REF類型
4、LOB類型
三、基本結構
1、聲明部分 -- DECLARE開頭
2、執行部分 -- BEGIN開頭,END結束
3、異常處理 -- EXCEPTION開頭
四、常量
常量名 CONSTANT 類型標識符[NOT NULL] := 值;
PI CONSTANT NUMBER(9) := 3.1415926;
五、變量
變量名 類型標識符[NOT NULL]:= 值;
%TYPE使變量獲得字段的數據類型
%ROWTYPE使變量獲得整個記錄的數據類型
六、表達式
數值表達式:+ - * / **(乘方)
字符表達式:由連接符||組成的
關系表達式:< > == <= >= != ALL ANY BETWEEN EXISTS IN IS LIKE
邏輯表達式:NOT OR AND
七、運算符
集合運算符:INTERSECT MINUS UNION UNION ALL
行運算符: ALL DISTINCT PRIOR(樹形查詢時返回當前行的父級行)
八、條件控制
1、IF條件
IF···THEN···END IF;
IF···THEN···ELSE···END IF;
IF···THEN···ELSIF···THEN···ELSE···END IF;
2、CASE條件
CASE 表達式
WHEN 值1 THEN
···············;
WHEN 值2 THEN
···············;
········
ELSE
···············;
END CASE;
3、搜尋式CASE條件
CASE
WHEN 表達式1 THEN
·····················;
WHEN 表達式2 THEN
····················;
··············
ELSE
·················;
END CASE;
九、循環控制
1、LOOP循環
<<outer>>
LOOP LOOP LOOP
······; ············; ···········;
EXIT; EXIT WHEN 條件表達式; LOOP
END LOOP; END LOOP; ············;
EXIT outer WHEN 條件表達式; --(兩個循環均退出)
END LOOP;
END LOOP outer;
2、WHILE···LOOP
WHILE 表達式 LOOP
············;
END LOOP;
3、FOR ···LOOP
FOR i IN 1..5 LOOP
············;
END LOOP;
十、其他功能特性
1、遊標
2、過程
3、函數
4、包
5、集合
6、錯誤處理
【Oracle】-初識PL/SQL