LOOP
LOOPステートメントは、現在のブロックをループするためにSQLスクリプトで使用されます。
構文
[<label>:] LOOP
<statements>
END LOOP [<label>]
このサンプルステートメントは永久にループします。終了するには、LEAVEステートメントを使用する必要があります。
備考
•ラベルは、ブロックに名前を付けるためのオプションの識別子です。これは、LEAVEおよびITERATEステートメントで使用するためのものです。
LEAVEおよび
ITERATEを参照してください。
•開始ラベルが存在する場合、終了ラベルは必要ありません。開始ラベルが存在しない場合、終了ラベルを付けることは違法です。開始ラベルと終了ラベルの両方が存在する場合は、両方が同じ識別子を持っている必要があります。
•<statements>領域には0個以上のステートメントが存在する可能性があります。
例
この例では、sにpadCharを埋め込み、sの長さが少なくとも幅になるようにします。
PROCEDURE padr(IN a VARCHAR, IN width INTEGER, IN padChar VARCHAR, OUT result VARCHAR)
--pad result with padChar
SET result = s;
L-loop:
LOOP
IF LENGTH(result) >= width THEN
LEAVE L_loop;
END IF;
SET result = CAST(CONCAT(result, padChar) AS VARCHAR);
END LOOP;
END