Reports usages of backward GOTO statements and GOTO statements used to exit a loop.

The extensive use of GOTO statements is generally not recommended. For details, see GOTO statement in SQL procedures at ibm.com.

Instead of jumping back to a previous statement using GOTO, consider using a loop.

Instead of exiting the WHILE loop with GOTO, consider using other control-of-flow statements (for example, RETURN or BREAK).

Example (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;