我有一個循環內執行的提取。如果此提取失敗(無數據),我想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;
「CONTINUE」語句是11g中的一項新功能。你確定你正在運行該版本? – angus 2011-05-05 20:08:33
順便說一句,在這裏看到:http://stackoverflow.com/questions/177752/continue-keyword-in-oracle-10g-pl-sql – angus 2011-05-05 20:09:29
@angus - 我們是在10g中,長號。猜猜我只是使用'NULL;'和一堆條件IF語句來幫助循環。將您的答案發布爲答覆,並將其標記爲正確答案。 – ProfessionalAmateur 2011-05-05 20:16:02