close
PL/SQL的 基本架構 :
DECLARE
[宣告]
BEGIN --邏輯的開始
......
EXCEPTION
[錯誤發生的處理]
ENE --邏輯結束
宣告的方式可以為ORACLE的任何型態(NUMBER、VARCHAR2、DATE....),
DECLARE
TOTAL_COUNT NUMBER(5,2)
......
DECLARE
[宣告]
BEGIN --邏輯的開始
......
EXCEPTION
[錯誤發生的處理]
ENE --邏輯結束
宣告的方式可以為ORACLE的任何型態(NUMBER、VARCHAR2、DATE....),
DECLARE
TOTAL_COUNT NUMBER(5,2)
......
亦可以有TABLE相關的參數(TABLE、VARRAY、RECORD),
ORACLE設定參數值的方法為 :
1.
DECLARE
TOTAL_COUNT NUMBER(4):=20;
......
2.
DECLARE
TOTAL_COUNT NUMBER(4);
BEGIN
TOTAL_COUNT := 20;--代表了TOTAL_COUNT代入數字20
.....
3.
DECLARE
TOTAL_COUNT NUMBER(4);
BEGIN
SELECT COUNT(*) INTO TOTAL_COUNT FROM XXXX
.....
宣告的型態可以設定成TABLE中欄位的型態(%TYPE、%ROWTYPE) :
%TYPE :
DECLARE
TOTAL_COUNT TABLE.欄位%TYPE; --某個TABLE中的欄位型態
....
%ROWTYPE :
DECLARE
CURSOR C1 IS
SELECT * FROM XXXX
C2 C1%ROWTYPE; --代表了C2與C1的欄位型態會是相同的,亦C1有多少欄位C2就會有多少欄位(欄位名稱亦相同)。
PL/SQL的條件控制式包含了 :
1.IF-THEN-ELSE END IF
DECLARE
.....
BEGIN
IF.....THEN
.........
ELSE
BEGIN
............
END;
END;
2.CASE 當限制式更多的時候可以使用
DECLARE
......
BEGIN
....
CASE
WHEN XXX='1'
......
WHEN XXX='2'
......
WHEN XXX='3'
BEGIN
......
......
END;
ELSE
.......
END;
回圈的控制
1.LOOP 完全的迴圈必須與EXIT作配合方可跳出無限回圈
DECLARE
......
BEGIN
LOOP
......
TOTAL_COUNT := TOTAL_COUNT+1;
EXIT WHEN TOTAL_COUNT=10;--當TOTAL_COUNT為10的時候跳出迴圈
...
END LOOP;
END;
2.FOR-LOOP需設定限制回圈
DECLARE
......
BEGIN
FOR NUM IN 1..10 LOOP
TOTAL_COUNT := TOTAL_COUNT+NUM;--由1加到10
END LOOP;
END;
3.WHILE-LOOP 看不懂......
控制順序
1.GOTO (儘量不要使用)
DECLARE
.....
BEGIN
IF ......THEN
GOTO AA;
END IF;
<<AA>>
...........
END;
全站熱搜