逆行している GOTO ステートメントと、ループを終了するために使用されている GOTO ステートメントを報告します。

一般的に、GOTO ステートメントを多用することは推奨されていません。 詳しくは、ibm.com の GOTO statement in SQL procedures セクションを参照してください。

GOTO を使用して前のステートメントに戻る代わりに、ループを使用することを検討してください。

GOTO を使用して WHILE ループを終了する代わりに、別のフロー制御ステートメント (RETURN や BREAK など) を使用することを検討してください。

例 (Oracle):

CREATE PROCEDURE test(n INT) AS
DECLARE
    x INT;
BEGIN
    x := 0;
    GOTO a;
    <<a>> x := 1;
    IF (n = 0) THEN
        GOTO a;
    END IF;
    WHILE TRUE
        LOOP
            GOTO b;
        END LOOP;
    <<b>> x := 3;
END;