一般的に、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;