<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條件控制的語法結構如圖9.15所示。

    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序判斷兩個整數變量的大小。 執行結果如圖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條件控制的語法結構如圖9.17所示。

    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序判斷兩個整數變量的大小,輸出不同的結果。執行結果如圖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嵌套條件控制的語法結構如圖9.19所示。

    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序判斷兩個整數變量的大小,輸出不同的結果。
    ????執行結果如圖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。


    循環控制

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

    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序將number1變量每次加1,一直到等于number2為止,統計輸出循環次數。
    ????―――――――――――――――――――――――――――――――――――――
    ????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('共循環次數:'||to_char(i));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????執行結果如圖9.22所示。

    ????【配套程序位置】:第9章\loopcontrol1.sql。
    ????2. loop..exit..when..end loop循環控制
    ????采用loop..exit..when..end loop循環控制的語法結構與圖9.21所示結構類似。
    ????exit when實際上就相當于
    ????????if 條件 then
    ????????exit;
    ??????end if;
    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序將number1變量每次加1,一直到等于number2為止,統計輸出循環次數。
    ????―――――――――――――――――――――――――――――――――――――
    ????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('共循環次數:'||to_char(i));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????執行結果如圖9.23所示。

    ????【配套程序位置】:第9章\loopcontrol2.sql。
    ????when循環控制結束條件比采用if的條件控制結束循環次數多1次。
    ????3. while..loop..end loop循環控制
    ????采用loop..exit..when..end loop循環控制的語法如下。
    ????while 條件 loop
    ???????執行語句段;
    ????end loop;
    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序將number1變量每次加1,一直到等于number2為止,統計輸出循環次數。
    ????―――――――――――――――――――――――――――――――――――――
    ????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('共循環次數:'||to_char(i));
    ????end;
    ????―――――――――――――――――――――――――――――――――――――
    ????執行結果如圖9.24所示。

    ????【配套程序位置】:第9章\whilecontrol.sql。
    ????4. for..in..loop..end循環控制
    ????采用for..in..loop..end循環控制的語法如下。
    ????for 循環變量 in [reverse] 循環下界..循環上界 loop
    ????????循環處理語句段;
    ????end loop;
    ????在【SQLPlus Worksheet】中執行下列PL/SQL程序,該程序通過循環變量I來控制number1增加次數,輸出結果。執行結果如圖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)  編輯  收藏


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


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    本期話題
    能源行業資產管理咨詢
    資產管理信息化方案提供
    資產管理相關行業培訓
    大型企業軟件體系架構整合
    資產管理信息系統實施
    信息集成
    信息孤島

    常用鏈接

    留言簿(6)

    隨筆檔案(45)

    文章檔案(7)

    新聞檔案(1)

    相冊

    wallgate management consulting

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲精品第一综合99久久| 亚洲日韩精品无码专区网址| 亚欧乱色国产精品免费视频| 亚洲成av人影院| 全免费a级毛片免费看无码| 久久久久久久99精品免费观看| 亚洲欧洲日韩国产一区二区三区| 亚洲国产精品无码久久九九| 国产在线a免费观看| 久久精品毛片免费观看| 一道本不卡免费视频| 亚洲av中文无码乱人伦在线观看 | 久久亚洲AV无码精品色午夜麻| 免费一本色道久久一区| 国产好大好硬好爽免费不卡 | 国产一精品一aⅴ一免费| 免费电影在线观看网站| 国产精品视频永久免费播放| 91久久精品国产免费一区| 久久精品人成免费| 美丽的姑娘免费观看在线播放| 无人在线观看免费高清| 国内精品久久久久影院免费| 国色精品va在线观看免费视频| 在线播放国产不卡免费视频| 国产亚洲视频在线观看| www一区二区www免费| 国产一区二区三区免费观看在线| 99热在线日韩精品免费| 日韩精品人妻系列无码专区免费| 97在线视频免费| 日韩中文字幕免费| 亚洲一区精品伊人久久伊人| 久久精品国产亚洲av麻豆| 337p日本欧洲亚洲大胆色噜噜| 中文字幕亚洲综合久久综合 | 亚洲国产精品自在拍在线播放| 亚洲最大AV网站在线观看| 亚洲综合无码一区二区三区| 亚洲精品无码久久久久久| 99精品视频在线观看免费|