<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    PL/SQL流程控制-----from-//ddvip.com

    ?

    ?PL/SQL程序中的流程控制語句借鑒了許多高級語言的流程控制思想,但又有自己的特點。

    條件控制

    ????下面通過實例介紹條件控制語句的使用。
    ????1. if..then..end if條件控制
    ????采用if..then..end if條件控制的語法結(jié)構(gòu)如圖9.15所示。

    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序判斷兩個整數(shù)變量的大小。 執(zhí)行結(jié)果如圖9.16所示。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ???????number1 integer:=90;
    ???????number2 integer:=60;
    ????begin
    ???????if number1>=number2 then
    ???????????dbms_output.put_line('number1大于等于number2');
    ???????end if;
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????【配套程序位置】:第9章\ conditioncontrol1.sql。

    ????2. if..then..else..end if條件控制
    ????采用if..then..else..end if條件控制的語法結(jié)構(gòu)如圖9.17所示。

    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序判斷兩個整數(shù)變量的大小,輸出不同的結(jié)果。執(zhí)行結(jié)果如圖9.18所示。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ????????number1 integer:=80;
    ????????number2 integer:=90;
    ????begin
    ????????if number1>=number2 then
    ????????????dbms_output.put_line('number1大于等于number2');
    ????????else
    ????????????dbms_output.put_line('number1小于number2');
    ????????end if;
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????【配套程序位置】:第9章\ conditioncontrol2.sql。

    ????3. if嵌套條件控制
    ????采用if嵌套條件控制的語法結(jié)構(gòu)如圖9.19所示。

    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序判斷兩個整數(shù)變量的大小,輸出不同的結(jié)果。
    ????執(zhí)行結(jié)果如圖9.20所示。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ????????number1 integer:=80;
    ????????number2 integer:=90;
    ????begin
    ????????if number1<=number2 then
    ???????????if number1=number2 then
    ??????????????dbms_output.put_line('number1等于number2');
    ???????????else
    ??????????????dbms_output.put_line('number1小于number2');
    ???????????end if;
    ????????else
    ??????????????dbms_output.put_line('number1大于number2');
    ????????end if;
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????【配套程序位置】:第9章\ conditioncontrol3.sql。


    循環(huán)控制

    ????循環(huán)結(jié)構(gòu)是按照一定邏輯條件執(zhí)行一組命令,PL/SQL中有4種基本循環(huán)結(jié)構(gòu),在它們基礎(chǔ)上又可以演變出許多嵌套循環(huán)控制,這里介紹最基本的循環(huán)控制語句。
    ????1. loop..exit..end loop循環(huán)控制
    ????采用loop..exit..end loop循環(huán)控制的語法結(jié)構(gòu)如圖9.21所示。

    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序?qū)umber1變量每次加1,一直到等于number2為止,統(tǒng)計輸出循環(huán)次數(shù)。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ????????number1 integer:=80;
    ????????number2 integer:=90;
    ????????i integer:=0;
    ????begin
    ???????loop
    ??????????number1:=number1+1;
    ??????????if number1=number2 then
    ?????????????exit;
    ??????????else
    ?????????????i:=i+1;
    ??????????end if;
    ??????end loop;
    ?????dbms_output.put_line('共循環(huán)次數(shù):'||to_char(i));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????執(zhí)行結(jié)果如圖9.22所示。

    ????【配套程序位置】:第9章\loopcontrol1.sql。
    ????2. loop..exit..when..end loop循環(huán)控制
    ????采用loop..exit..when..end loop循環(huán)控制的語法結(jié)構(gòu)與圖9.21所示結(jié)構(gòu)類似。
    ????exit when實際上就相當于
    ????????if 條件 then
    ????????exit;
    ??????end if;
    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序?qū)umber1變量每次加1,一直到等于number2為止,統(tǒng)計輸出循環(huán)次數(shù)。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ????????number1 integer:=80;
    ????????number2 integer:=90;
    ????????i integer:=0;
    ????begin
    ????????loop
    ???????????number1:=number1+1;
    ???????????i:=i+1;
    ???????????exit when number1=number2;
    ????????end loop;
    ?????dbms_output.put_line('共循環(huán)次數(shù):'||to_char(i));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????執(zhí)行結(jié)果如圖9.23所示。

    ????【配套程序位置】:第9章\loopcontrol2.sql。
    ????when循環(huán)控制結(jié)束條件比采用if的條件控制結(jié)束循環(huán)次數(shù)多1次。
    ????3. while..loop..end loop循環(huán)控制
    ????采用loop..exit..when..end loop循環(huán)控制的語法如下。
    ????while 條件 loop
    ???????執(zhí)行語句段;
    ????end loop;
    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序?qū)umber1變量每次加1,一直到等于number2為止,統(tǒng)計輸出循環(huán)次數(shù)。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ????????number1 integer:=80;
    ????????number2 integer:=90;
    ????????i integer:=0;
    ????begin
    ????????while number1??????????number1:=number1+1;
    ??????????i:=i+1;
    ???????end loop;
    ?????dbms_output.put_line('共循環(huán)次數(shù):'||to_char(i));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????執(zhí)行結(jié)果如圖9.24所示。

    ????【配套程序位置】:第9章\whilecontrol.sql。
    ????4. for..in..loop..end循環(huán)控制
    ????采用for..in..loop..end循環(huán)控制的語法如下。
    ????for 循環(huán)變量 in [reverse] 循環(huán)下界..循環(huán)上界 loop
    ????????循環(huán)處理語句段;
    ????end loop;
    ????在【SQLPlus Worksheet】中執(zhí)行下列PL/SQL程序,該程序通過循環(huán)變量I來控制number1增加次數(shù),輸出結(jié)果。執(zhí)行結(jié)果如圖9.25所示。
    ????―――――――――――――――――――――――――――――――――――――
    ????set serveroutput on
    ????declare
    ???????number1 integer:=80;
    ???????number2 integer:=90;
    ???????i integer:=0;
    ????begin
    ????????for i in 1..10 loop
    ??????????number1:=number1+1;
    ????????end loop;
    ??????dbms_output.put_line('number1的值:'||to_char(number1));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????【配套程序位置】:第9章\forcontrol.sql。

    ?

    posted on 2005-11-05 13:27 大樹 閱讀(132) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    公告

    本期話題
    能源行業(yè)資產(chǎn)管理咨詢
    資產(chǎn)管理信息化方案提供
    資產(chǎn)管理相關(guān)行業(yè)培訓
    大型企業(yè)軟件體系架構(gòu)整合
    資產(chǎn)管理信息系統(tǒng)實施
    信息集成
    信息孤島

    常用鏈接

    留言簿(6)

    隨筆檔案(45)

    文章檔案(7)

    新聞檔案(1)

    相冊

    wallgate management consulting

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人A毛片免费观看网站| 色屁屁www影院免费观看视频| 中出五十路免费视频| 亚洲av无码专区在线观看素人| 亚洲国产美女精品久久久| 无码精品A∨在线观看免费| 亚洲第一页在线观看| 99精品免费观看| 亚洲人成网站18禁止久久影院| 国产成人精品免费视| 2020天堂在线亚洲精品专区| 野花高清在线观看免费3中文| 亚洲av无码一区二区三区天堂古代 | 黄在线观看www免费看| 亚洲一级片在线观看| 天天摸天天操免费播放小视频 | 国产成人高清精品免费观看| 亚洲精品成人网站在线观看| 精品免费视在线观看| 亚洲精品第五页中文字幕| 麻豆一区二区免费播放网站| 亚洲熟妇无码AV| 亚洲日韩在线观看| 777成影片免费观看| 亚洲色欲色欱wwW在线| 亚洲AV蜜桃永久无码精品| 免费人成激情视频在线观看冫| 亚洲成色999久久网站| 成人毛片18女人毛片免费96| 一级毛片免费毛片毛片| 亚洲AV成人一区二区三区AV| 亚洲人成网站免费播放| 好吊色永久免费视频大全| 久久丫精品国产亚洲av不卡| 处破痛哭A√18成年片免费| 亚洲免费在线观看| 亚洲精品乱码久久久久久下载| 日本免费无遮挡吸乳视频电影| 中文字幕一区二区三区免费视频| 亚洲午夜在线一区| 国产成人麻豆亚洲综合无码精品 |