plsql--迴圈討論
PL/SQL提供3種不同的迴圈結構
-
LOOP迴圈
-
FOR迴圈
-
WHILE迴圈
每種迴圈被設計出來都有其特別的用意
最簡單的LOOP迴圈例子
CREATE OR REPLACE PROCEDURE dbtest_loop (
start_number IN integer,
end_number IN integer
)
IS
current_number integer := start_number;--注意這裡一定要先申明變數並且指定型別
BEGIN
LOOP
exit when current_number > end_number;
DBMS_OUTPUT.put_line ('current_number is '||current_number);
current_number := current_number + 1;――這裡要指定步長
END LOOP;
END dbtest_loop;
FOR迴圈例子:
/* Formatted on 2008/12/11 09:40 (Formatter Plus v4.8.6) */
CREATE OR REPLACE PROCEDURE dbtest_forloop (
start_number IN integer,
end_number IN integer
)
IS
BEGIN
FOR current_number IN start_number .. end_number—―――――注意這裡的current_number在使用前不需要申明
LOOP
DBMS_OUTPUT.put_line ('current_number is '||current_number);
END LOOP;
END dbtest_forloop;
注意FOR迴圈還有另外一種結構,如下例
PROCEDURE display_multiple_years (
start_year_in IN PLS_INTEGER
,end_year_in IN PLS_INTEGER
)
IS
BEGIN
FOR l_current_year IN (
SELECT * FROM sales_data
WHERE year BETWEEN start_year_in AND end_year_in)
LOOP
-- This procedure is now accepted a record implicitly declared
-- to be of type sales_data%ROWTYPE...
display_total_sales (l_current_year);
END LOOP;
END display_multiple_years;
第3種迴圈結構就是WHILE迴圈,這種結構與簡單的LOOP迴圈很相似,關鍵的區別在於它在迴圈前檢查迴圈終止條件,它有可能一次也不執行迴圈休中的內容
WHILE迴圈例子如下:
CREATE OR REPLACE PROCEDURE display_multiple_years (
start_year_in IN PLS_INTEGER
,end_year_in IN PLS_INTEGER
)
IS
l_current_year PLS_INTEGER := start_year_in;
BEGIN
WHILE (l_current_year <= end_year_in)
LOOP
display_total_sales (l_current_year);
l_current_year := l_current_year + 1;
END LOOP;
END display_multiple_years;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15720542/viewspace-617114/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL--變數範圍的討論SQL變數
- 探討兩種迴圈表示方法的區別,while迴圈與for迴圈的小總結While
- C++/Object Pascal中迴圈結構的一點差異及討論 (轉)C++Object
- JavaScript的map迴圈、forEach迴圈、filter迴圈、reduce迴圈、reduceRight迴圈JavaScriptFilter
- C語言——迴圈結構(for迴圈,while迴圈,do-while迴圈)C語言While
- 無限for迴圈(死迴圈)
- while迴圈以及do while迴圈While
- 迴圈
- if迴圈
- 04流程控制 for迴圈,while迴圈While
- 讓論壇迴歸討論!免費開源的輕量級論壇程式推薦
- 【基礎題】【for迴圈】二重迴圈
- JS優化迴圈之展開迴圈JS優化
- JavaScript for of 迴圈JavaScript
- Java迴圈Java
- javascript迴圈JavaScript
- javaScript for迴圈JavaScript
- while迴圈While
- 事件迴圈事件
- scss中迴圈之@for迴圈佈局畫圓CSS
- matlab之在迴圈中修改迴圈變數Matlab變數
- for迴圈、break和continue、二重迴圈
- Java入門學習-學習if & else,for迴圈,foreach迴圈,while迴圈的用法。JavaWhile
- C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用C#程式設計While
- PLSQL Language Referenc-PL/SQL控制語句-迴圈語句-FOR迴圈-FOR迴圈中的索引SQL索引
- 迴圈中的非同步&&迴圈中的閉包非同步
- PHP For & While 迴圈PHPWhile
- 陣列迴圈陣列
- PL/SQL 迴圈SQL
- 無迴圈 JavaScriptJavaScript
- JS事件迴圈JS事件
- Iterator 和 for…of 迴圈
- pythonfor迴圈Python
- 迴圈結構for
- iOS迴圈引用iOS
- for迴圈的理解
- Dart - 迴圈控制Dart
- Flutter for迴圈案例Flutter