通常不推荐大量使用 GOTO 语句。 有关详细信息,请参阅 ibm.com 上的 GOTO statement in SQL procedures 页面。
考虑使用循环而不是使用 GOTO 返回到上一条语句。
考虑使用另一个流控制语句,例如 RETURN 或 BREAK,而不是使用 GOTO 退出 WHILE 循环。
示例(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;