一、條件控制語句
1、只有IF的條件控制語句
IF concition THEN
STATEMENTS;
END IF;
請看以下示例:
2、IF、ELSE語句
IF condition THEN
STATEMENTS;
ELSE
STATEMENTS;
END IF;
請看以下示例:
3、IF ESLEIF ELSE語句
IF condition THEN
STATEMENTS;
ELSIF ? condition THEN?
STATEMENTS;
ELSE
STATEMENTS;
END IF;
請看以下示例:
4、CASE語句
單一值進行比較:
CASE selector
WHEN expression1 THEN result1;
WHEN expression2 THEN result2;
WHEN expression3 THEN result3;
ELSE result4;
END CASE;
請看以下示例:
二、循環控制語句
1、LOOP循環
LOOP
STATEMENTS;
END LOOP ;
示例1:
示例2:
2、WHILE循環
示例1:
3、FOR循環
示例1:
4、多重循環與標簽
示例1:
三、順序控制語句
1、GOTO語句
語法:GOTO labelName;
2、NULL語句
NULL;語句不執行任何操作,直接傳遞到下一條語句。
1、只有IF的條件控制語句
IF concition THEN
STATEMENTS;
END IF;
請看以下示例:
DECLARE
salaryAVG number(7,2);
empSalary number(7,2);
BEGIN
SELECT AVG(SAL) INTO salaryAVG FROM scott.emp;
SELECT SAL INTO empSalary FROM scott.emp WHERE EMPNO=&eno;
IF empSalary>salaryAVG THEN
DBMS_OUTPUT.PUT_LINE('該職工工資超過了平均線'||salaryAVG);
END IF;
END;
|
2、IF、ELSE語句
IF condition THEN
STATEMENTS;
ELSE
STATEMENTS;
END IF;
請看以下示例:
DECLARE
salaryAVG number(7,2);
empSalary number(7,2);
BEGIN
SELECT AVG(SAL) INTO salaryAVG FROM scott.emp;
SELECT SAL INTO empSalary FROM scott.emp WHERE EMPNO=&eno;
IF empSalary>salaryAVG THEN
DBMS_OUTPUT.PUT_LINE('該職工工資超過了平均線'||salaryAVG);
ELSE
DBMS_OUTPUT.PUT_LINE('該職工工資沒有超過平均線'||salaryAVG);
END IF;
END;
|
3、IF ESLEIF ELSE語句
IF condition THEN
STATEMENTS;
ELSIF ? condition THEN?
STATEMENTS;
ELSE
STATEMENTS;
END IF;
請看以下示例:
DECLARE
empSalary number(7,2);
BEGIN
SELECT SAL INTO empSalary FROM scott.emp WHERE EMPNO=&eno;
IF empSalary<2000 THEN
DBMS_OUTPUT.PUT_LINE('需交稅0元');
ELSIF empSalary<4000 THEN
DBMS_OUTPUT.PUT_LINE('需交稅'||(empSalary*0.15-175)||'元');
ELSE
DBMS_OUTPUT.PUT_LINE('需交稅'||(empSalary*0.25-375)||'元');
END IF;
END;
|
4、CASE語句
單一值進行比較:
CASE selector
WHEN expression1 THEN result1;
WHEN expression2 THEN result2;
WHEN expression3 THEN result3;
ELSE result4;
END CASE;
請看以下示例:
DECLARE
eno NUMBER(2);
BEGIN
eno:=&no;
CASE eno
WHEN 10 THEN DBMS_OUTPUT.PUT_LINE('部門1');
WHEN 20 THEN DBMS_OUTPUT.PUT_LINE('部門2');
WHEN 30 THEN DBMS_OUTPUT.PUT_LINE('部門3');
ELSE DBMS_OUTPUT.PUT_LINE('沒有該部門');
END CASE;
END;
--多重條件進行比較:
CASE
WHEN expression1 THEN result1;
WHEN expression2 THEN result2;
WHEN expression3 THEN result3;
ELSE result4;
END CASE;
|
二、循環控制語句
1、LOOP循環
LOOP
STATEMENTS;
END LOOP ;
示例1:
DECLARE
a int;
BEGIN
a:=0;
LOOP
IF a=10 THEN
EXIT;
END IF;
DBMS_OUTPUT.PUT_LINE(a);
a:=a+1;
END LOOP;
END;
|
示例2:
DECLARE
a int;
BEGIN
a:=0;
LOOP
EXIT WHEN a=10;
DBMS_OUTPUT.PUT_LINE(a);
a:=a+1;
END LOOP;
END;
|
2、WHILE循環
示例1:
DECLARE
a int;
BEGIN
a:=0;
WHILE a<10 LOOP
DBMS_OUTPUT.PUT_LINE(a);
a:=a+1;
END LOOP;
END;
|
3、FOR循環
示例1:
BEGIN
FOR a IN 0..9 LOOP
DBMS_OUTPUT.PUT_LINE(a);
END LOOP;
END;
|
4、多重循環與標簽
示例1:
DECLARE result INT; BEGIN < |
三、順序控制語句
1、GOTO語句
語法:GOTO labelName;
2、NULL語句
NULL;語句不執行任何操作,直接傳遞到下一條語句。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
