Oracle入门(十四.8)之迭代控制:基本循环Loop
生活随笔
收集整理的這篇文章主要介紹了
Oracle入门(十四.8)之迭代控制:基本循环Loop
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、迭代控制:LOOP語句
循環多次重復一個語句或一系列語句。?
PL / SQL提供了以下幾種類型的循環:
?沒有全面條件執行重復操作的基本循環?FOR循環,基于計數器執行迭代操作
?WHILE循環根據條件執行重復操作
二、基本循環
LOOP語句的最簡單形式是基本(或無限)循環,它在關鍵字LOOP和END LOOP之間包含一系列語句。當循環內部的語句必須至少執行一次時,使用基本循環。
(1)基本循環退出
每當執行流程到達END LOOP語句時,控制權就被傳遞給相應的引入它的LOOP語句。即使在進入循環時EXIT條件已經滿足,基本循環也允許執行其語句至少一次。 沒有EXIT語句,循環將是無限的。
語法:
LOOPstatement1;. . .EXIT [WHEN condition]; END LOOP;(2)基本循環示例
在本例中,插入了CA的國家代碼和蒙特利爾市的三個新的位置ID。
DECLAREv_countryid locations.country_id%TYPE := 'CA';v_loc_id locations.location_id%TYPE;v_counter NUMBER(2) := 1;v_new_city locations.city%TYPE := 'Montreal'; BEGINSELECT MAX(location_id) INTO v_loc_id FROM locationsWHERE country_id = v_countryid;LOOPINSERT INTO locations(location_id, city, country_id)VALUES((v_loc_id + v_counter), v_new_city, v_countryid);v_counter := v_counter + 1;EXIT WHEN v_counter > 3;END LOOP; END;(3)基本循環EXIT聲明
您可以使用EXIT語句來終止循環。控制權轉到END LOOP語句后的下一個語句。 您可以將EXIT作為IF語句中的操作或循環內的獨立語句。
DECLAREv_counter NUMBER := 1; BEGINLOOPDBMS_OUTPUT.PUT_LINE('The square of ' ||v_counter||' is: '|| POWER(v_counter,2));v_counter := v_counter + 1;IF v_counter > 10 THENEXIT;END IF;END LOOP; END;(4)基本循環EXIT語句規則
規則:EXIT語句必須放在循環中。
?如果EXIT條件位于循環的頂部(在任何其他可執行語句之前)并且該條件初始為真,則循環退出并且循環中的其他語句從不執行。
?基本循環可以包含多個EXIT語句,但您應該只有一個EXIT點。
(5)基本循環退出時聲明
使用WHEN子句可以有條件地終止循環。 遇到EXIT語句時,將評估WHEN子句中的條件。 如果條件產生TRUE,則循環結束并且控制傳遞到循環后面的下一個語句。
DECLAREv_counter NUMBER := 1; BEGINLOOPDBMS_OUTPUT.PUT_LINE('The square of ' ||v_counter||' is: '|| POWER(v_counter,2));v_counter := v_counter + 1;EXIT WHEN v_counter > 10;END LOOP; END;總結
以上是生活随笔為你收集整理的Oracle入门(十四.8)之迭代控制:基本循环Loop的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坻在蒹葭怎么读 坻在蒹葭如何读
- 下一篇: Oracle入门(十四.9)之迭代控制: