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

        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號
        主站蜘蛛池模板: 国产区精品福利在线观看精品| 欧美国产日本精品一区二区三区| 精品无码国产污污污免费网站| 国产精品天干天干在线综合 | 日本伊人精品一区二区三区| 国产精品日韩深夜福利久久| 日韩精品在线免费观看| 久久国产欧美日韩精品| 一本之道av不卡精品| 精品无码一级毛片免费视频观看| 四虎国产精品永久地址49| 99久久99久久精品免费看蜜桃| 无码精品国产VA在线观看DVD| 无码AV动漫精品一区二区免费| 精品人妻系列无码人妻免费视频| 99国产精品私拍pans大尺度| 国产精品嫩草影院一二三区入口 | 国产综合精品久久亚洲| 亚洲国产成人久久精品动漫| 精品国产日产一区二区三区| 成人区人妻精品一区二区不卡网站| 无码精品日韩中文字幕| 亚洲国产精品成人精品无码区| 亚洲精品视频在线观看你懂的| 日韩精品无码Av一区二区 | 国产精品无码免费专区午夜| 亚洲愉拍自拍欧美精品| 亚洲欧美日韩精品久久| 日韩精品免费视频| 国产69精品久久久久99| 国产成人精品怡红院在线观看| 99R在线精品视频在线播放| 国产成人久久精品麻豆一区| 国产成人精品久久一区二区三区av | 麻豆精品成人免费国产片| 精品乱人伦一区二区三区| 欧美亚洲精品在线| 国产成人毛片亚洲精品| 久久精品亚洲欧美日韩久久| 亚洲精品国产高清嫩草影院| 亚洲日韩国产AV无码无码精品 |