GOTO语句
GOTO语句是一种控制流语句,允许程序无条件跳转到代码中的另一个标签位置。PL/SQL中对GOTO语句有一些限制,对于块、循环、IF语句而言,从外层跳转到内层是非法的。
语法格式
sql
GOTO ColId;
参数说明
ColId
:标签名,在需要跳转的位置以<<
开头,以>>
结尾,即<<ColId>>>
。
注意:
标签名不可以使用虚谷关键字,否则无法执行。
示例
该示例定义了循环体,每次循环均输出一条消息,当循环次数大于5时,跳转至标签ENDOFLOOP。
sql
DECLARE
-- 声明部分
v_counter INTEGER;
BEGIN
-- 初始化
v_counter := 1;
-- 开始循环
LOOP
SEND_MSG('已循环:' || v_counter || '次 ');
v_counter := v_counter + 1;
IF v_counter > 5 THEN
-- 如果v_counter大于5,跳转到标签ENDOFLOOP
GOTO ENDOFLOOP;
END IF;
END LOOP;
-- 定义标签ENDOFLOOP
<<ENDOFLOOP>>
SEND_MSG('结束LOOP循环!共循环: ' || v_counter || '次 ');
END;
/
-- 输出
已循环:1次
已循环:2次
已循环:3次
已循环:4次
已循环:5次
结束LOOP循环!共循环: 6次