salaryAVGTHENDBMS" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

PL/SQL中的流程控制語句

系統 1908 0
一、條件控制語句
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

        <
                  
                  
                    
                      > FOR i IN 1..10 LOOP <
                    
                    
                      
                        > FOR j IN 1..10 LOOP result:=i*j; EXIT outer WHEN result=10; EXIT WHEN result=5; DBMS_OUTPUT.PUT_LINE('內:'||result); END LOOP inner; DBMS_OUTPUT.PUT_LINE('外:'||result); END LOOP outer; DBMS_OUTPUT.PUT_LINE('最后:'||result); END; 
                      
                    
                  
                


三、順序控制語句
1、GOTO語句
語法:GOTO labelName;
2、NULL語句
NULL;語句不執行任何操作,直接傳遞到下一條語句。

PL/SQL中的流程控制語句


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 靖安县| 赣榆县| 桐城市| 汪清县| 卢龙县| 灵宝市| 科尔| 敦煌市| 大同县| 朝阳市| 嘉善县| 翁牛特旗| 通辽市| 历史| 普定县| 开化县| 曲阳县| 惠来县| 嘉祥县| 苏州市| 凤山市| 西峡县| 柳江县| 蒲江县| 保德县| 周口市| 清涧县| 和龙市| 甘洛县| 蓝田县| 八宿县| 邮箱| 琼结县| 武冈市| 自治县| 桑日县| 醴陵市| 白山市| 克什克腾旗| 茌平县| 密山市|