站長資訊網
        最全最豐富的資訊網站

        oracle存儲過程中的循環語句有哪些

        oracle存儲過程中的循環語句:1、LOOP循環,語法為“loop 循環體;EXIT WHEN 結束循環條件表達式;END LOOP;”;2、WHILE循環,語法為“while 條件表達式 loop 循環語句;end loop;”;3、for循環,語法為“for 變量 IN (reverse) 計數器下限值…計數器上限值 LOOP 循環體;END LOOP;”。

        oracle存儲過程中的循環語句有哪些

        本教程操作環境:windows10系統、Oracle 12c版、Dell G3電腦。

        oracle存儲過程中的循環語句有哪些

        當程序需要反復執行某一操作時,就必須使用循環結構。PL/SQL 中的循環語句主要包括LOOP語句、WHERE語句和FOR語句3種。

        LOOP語句

        LOOP語句會先執行一次循環體,然后再判斷EXIT WHEN關鍵字后面的條件表達式是ture還是false,為true的時候退出循環體,否則程序將再次執行循環體。

        基本語法:

        loop     A;     EXIT WHEN B; END LOOP;

        A: 代表循環體中的sql語句,可以是一句也可能是多句,這是循環體核心部分,這些語句至少被執行一遍。

        B: 循環結束條件表達式,為ture時,退出循環,否則再次執行循環體。

        代碼示例:

        -- Created on 2020/12/16 by GUO  declare    i int:= 0; begin   loop     i:=i+1;     dbms_output.put_line(i);     EXIT WHEN i > 3;   END LOOP; end;

        運行結果:

        oracle存儲過程中的循環語句有哪些

        實戰示例:

        使用Loop+游標的時候,取游標當中的值,必須重新賦值一遍,要不然會報錯。

        -- Created on 2020/12/17 by GUO  declare   cursor user is     select * from user_table;   user1 user_table%rowtype; begin   open user;   loop     fetch user into user1;     exit when user%notfound;     dbms_output.put_line('用戶名稱:' || user1.USER_NAME);     dbms_output.put_line('用戶年齡:' || user1.USER_AGE);   end loop;   close user; --關閉游標 end;

        WHILE語句

        在執行之前,首先要判斷條件表達式的值是否為true,true則執行循環體,否則退出WHILE循環,繼續執行循環后面的代碼。

        基本語法:

        while a loop   b; end loop;

        A: 表示一個條件表達式,當值為true時,程序執行循環體,否則退出。

        B: 循環體內的sql語句。

        代碼示例:

        -- Created on 2020/12/17 by GUO  declare   i int := 0; begin   while i < 3 loop     i := i + 1;     dbms_output.put_line(i);   end loop; end;

        運行結果:

        oracle存儲過程中的循環語句有哪些

        實戰示例:

        -- Created on 2020/12/17 by GUO  declare   cursor user is     select * from user_table;   user1 user_table%rowtype; begin   open user;   fetch user into user1;   while(user%found)loop   dbms_output.put_line('用戶名稱:' || user1.USER_NAME);   fetch user into user1;   end loop; end;

        FOR語句

        FOR語句是一個可提前設置循環次數的循環控制語句,它有一個循環計數器,通常是一個整型變量,通過這個計數器來控制循環次數。

        基本語法:

        for A IN (reverse) B...C LOOP    D;  END LOOP;

        A: 表示一個變量,通常為證書類型,用來作為計數器,默認值是遞增的,當循環當中使用reverse關鍵字時,就會循環遞減。

        B: 計數器下限值,當計數器的值小于下限值的時候,終止循環。

        C: 計數器上限值,當計數器的值大于上限值的時候,終止循環。

        D: 循環體。

        代碼示例:

        -- Created on 2020/12/17 by GUO  declare    i int := 0; begin   for i IN reverse 1..5 LOOP     dbms_output.put_line(i);   END LOOP; end;

        運行結果:

        oracle存儲過程中的循環語句有哪些

        實戰示例:

        配合游標使用

        -- Created on 2020/12/17 by GUO  declare   cursor user is     select * from user_table; begin   for user1 in user loop   dbms_output.put_line('用戶名稱:'||user1.USER_NAME);   dbms_output.put_line('用戶年齡:'||user1.USER_AGE);   end loop; end;

        推薦教程:《Oracle視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品国内自产拍在线观看| 国产精品色视频ⅹxxx | 国产精品对白刺激久久久| 国产在AJ精品| 亚洲国产精品自在线一区二区| 色妞ww精品视频7777| 欧美精品xxxxbbbb| 99精品在线免费| 2022国内精品免费福利视频 | 国产精品兄妹在线观看麻豆 | 国产夫妇精品自在线| 日韩精品无码一区二区三区| 久久青青草原精品国产软件 | 亚洲综合精品香蕉久久网| 久久久久久国产精品无码下载| 国产精品成人观看视频| 久久se精品一区精品二区| 国产精品久久久久无码av| 91精品国产福利尤物| 久久99精品国产麻豆| 无码精品A∨在线观看| 中文字幕精品久久| 伊在人亚洲香蕉精品区麻豆| 午夜精品久久影院蜜桃| 日韩精品无码Av一区二区| 免费人欧美日韩在线精品| 久久乐国产精品亚洲综合| 鲸鱼传媒绿头鱼实验室之炮机测评日韩精品一级毛 | 四虎成人精品无码| 无码日韩精品一区二区免费暖暖| 亚洲国产精品一区二区第四页| 青草国产精品视频。| 午夜精品一区二区三区在线视| 无码国模国产在线无码精品国产自在久国产 | 国产乱码精品一区二区三| 国产午夜精品理论片久久| 国产色婷婷精品综合在线| 国语自产精品视频在线观看| 久久国产精品免费一区| 欧美精品综合视频一区二区| 正在播放国产精品每日更新 |