目的
指定の条件が真になるまで、文または文のリストを繰り返し実行します。
呼び出し
実行可能形式。
ストアド プロシージャのみ。
構文
- label_name
- WHILE文のオプションのラベル
- conditional_expression
- WHILEループに組み込まれている1つ以上の文を実行するかどうかを評価するために使用されるブール条件。
- statement
- 実行される文のリスト。
ANSI準拠
WHILEは、ANSI/ISO SQL:2011に準拠しています。
許可
なし。
ルール
- WHILEはラベルで修飾できます。
- WHILE文の中にLEAVEまたはITERATE文を指定できます。
例: WHILEの使用
WHILE hCounter > 0 DO INSERT INTO transaction (trans_num, account_num) VALUES (hCounter, hAccountNum); SET hCounter = hCounter - 1; END WHILE;
例: WHILEを使用して高値に設定する
WHILE hCounter > 0 DO SELECT highNum INTO maxNum FROM limits WHERE LIMIT_TYPE = ’HIGHNUM’; IF hCounter >= MaxNum THEN LEAVE LOOP1; END IF; INSERT INTO transaction (trans_num, account_num) VALUES (hCounter, :hAccountNum); SET hCounter = hCounter - 1; END WHILE;