標籤:控制 == timestamp amp time oracle 關係 獲得 條件
在最近的工作中要用到預存程序和函數,索性把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