ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

WHILE

WHILEコマンドは、ブール式が返す値がTRUEの間、文を繰り返し実行するコマンドです。WHILEは、プログラムの内部でのみ使用できます。

構文

WHILE boolean-expression

    statement block

パラメータ

boolean-expression

文を実行するための条件として機能します。この式がTRUEの間、は繰り返し実行されます。この式がFALSEになると、の実行は終了し、プログラムは引き続き次の行の実行に移ります。(または複数の文)の記述によって、ブール式が最終的にはFALSEになる必要がありますが、そうしないと、このコードは無限ループになります。

statement block

ブール式がTRUEの間に実行される1つ以上の文。DO ... DOENDの間に文を記述することにより、複数の文を実行できます。DO文はWHILE文の直後に記述する必要があります。

使用上の注意

WHILEとIFとの比較

WHILE文は、主にIF...THEN...ELSEコマンドのかわりに使用されます。ブール式がTRUEの間、プログラム内の1つ以上の文を繰り返し実行する場合は、WHILEを使用します。ブール式がTRUEのときに一度のみ実行する場合は、IFを使用します。

ブール定数

ブール式には定数を指定できます。文がWHILE TRUEの場合は、プログラムがループを終了できるように、DO ... DOENDの間にBREAK、RETURNまたはEXIT文を必ず記述してください。

ループ内での分岐

BREAK、CONTINUE、GOTOの各コマンドを使用すると、WHILEループの内部または外部に分岐し、それによって文の実行順序を変更できます。

例10-176 プログラム内でのWHILEループの使用

次のプログラム行では、DOの後の文は、ブール式count LT 10TRUEである場合に実行されます。ループの内部で、このコードはある条件のインスタンスを検索し、見つかるとcount1を追加します。count10に到達すると、ループは終了します。ループ内のコードでは、countがいつかは必ず10になるようにします。そうしないと、ループは永遠に終了しません。

WHILE count LT 10
   DO
    ..." (statements)
    IF ....
      count = count + 1
   DOEND