您好,登錄后才能下訂單哦!
無名塊:未命名的程序塊
命名塊:指過程,函數,包和觸發器
定義部分:用于定義變量,常量,游標,觸發器,復合數據類型
執行部分:用于實現應用模塊功能,包含了要執行的PL/SQL語句和SQL語句
異常處理部分:用于處理執行部分可能出現的運行錯誤
[DECLARE
... --定義部分]
BEGIN
... --執行部分
[EXCEPTION
... --異常處理部分]
END;
-------------------------------------
DECLARE
a NUMBER;
BEGIN
a:=1+2;
DBMS_OUTPUT.PUT_LINE('1+2='||a);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('出現異常')
END;
/
條件分支語句:
DECLARE
a1 number := 100;
a2 number := 200;
BEGIN
IF a1>a2 THEN
DBMS_OUTPUT.PUT_LINE('a1 is larger than a2');
ELSIF a1=a2 THEN
DBMS_OUTPUT.PUT_LINE('a1 is equal to a2')
ELSE
DBMS_OUTPUT.PUT_LINE('a1 is smaller than a2');
ENDIF;
END;
/
------------------------------------------------------------------------------------
DECLARE
grade CHAR(1) := 'B';
appraisal VARCHAR2(20);
BEGIN
appraisal :=
CASE grade
WHEN 'A' THEN '優'
WHEN 'B' THEN '良'
WHEN 'C' THEN '中'
WHEN 'D' THEN '及格'
WHEN 'F' THEN '不及格'
ELSE '沒有這樣的等級'
DBMS_OUTPUT.PUT_LINE('Grade'||grade||'is'||appraisal);
END;
/
循環語句:
DECLARE
total number := 0;
salary number := 1800;
BEGIN
LOOP
total := total + salary;
EXIT WHEN total > 2500
END LOOP;
DBMS_OUTPUT.PUT_LINE('total salary is'||total);
END;
/
----------------------------------------------------------------------------
DECLARE
total number := 0;
salary number := 1800;
BEGIN
WHILE total<2500 LOOP
total := total + salary;
END LOOP;
DBMS_OUTPUT.PUT_LINE('total salary is'||total);
END;
/
---------------------------------------------------------------------------
DELARE
I INTEGER;
BEGIN
FOR I IN REVERSE 1..3 LOOP
DBMS_OUTPUT.PUT_LINE(I);
END LOOP;
END;
/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。