【发布时间】:2011-08-19 16:04:06
【问题描述】:
我有一个在循环内执行的 fetch。如果此提取失败(无数据)我想 CONTINUE 循环到 EXCEPTION 中的下一条记录。
这可能吗?
我收到了ORA-06550 & PLS-00201 identifer CONTINUE must be declared
DECLARE
v_attr char(88);
CURSOR SELECT_USERS IS
SELECT id FROM USER_TABLE
WHERE USERTYPE = 'X';
BEGIN
FOR user_rec IN SELECT_USERS LOOP
BEGIN
SELECT attr INTO v_attr
FROM ATTRIBUTE_TABLE
WHERE user_id = user_rec.id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- user does not have attribute, continue loop to next record.
CONTINUE;
END;
END LOOP;
END;
【问题讨论】:
-
一个更简单的解决方案是循环连接两个表的查询 - 这样您就不必处理任何异常。