「PL/SQL」プロシージャでWHILE文を使って最初に条件を判定するサンプル
環境
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production
PL/SQL Release 11.2.0.1.0 – Production
構文
CREATE OR REPLACE PROCEDURE プロシージャ名 IS 変数名 データの型:=値 BEGIN WHILE 条件式 LOOP 処理コード END LOOP; END;
while文を利用して、最初の判定でfalseの場合は、ループ処理が1回も行われません。
使用例
SQL構文
CREATE OR REPLACE PROCEDURE TTSS2 IS nn NUMBER(10) := 20; BEGIN WHILE nn < 25 LOOP DBMS_OUTPUT.PUT_LINE(nn);-- 20 21 22 23 24が出力される nn := nn + 1; END LOOP; END;
操作例
1.プロシージャ名「TTSS2」を作成します。
SQL> CREATE OR REPLACE PROCEDURE TTSS2 2 IS 3 nn NUMBER(10) := 20; 4 BEGIN 5 WHILE nn < 25 6 LOOP 7 DBMS_OUTPUT.PUT_LINE(nn);-- 20 21 22 23 24が出力される 8 nn := nn + 1; 9 END LOOP; 10 END; 11 / プロシージャが作成されました。
2.プロシージャを実行します
serverのoutputをonにして文字列を出力します
SQL> set serveroutput on
プロシージャを実行します
SQL> execute TTSS2() 20 21 22 23 24 PL/SQLプロシージャが正常に完了しました。