SQL - Cursor if no records not working
CREATE OR REPLACE procedure verify_data
IS
cursor c1 is
select
e.name
from
table3 e
where
id IN (select id from table1)
and id in (select id from table2);
BEGIN
if c1%notfound then
DBMS_OUTPUT.PUT_LINE('no records found');
end if;
FOR eData in c1
LOOP
DBMS_OUTPUT.PUT_LINE(eData.name);
END LOOP;
END;
/
如果有记录,我的结果将被输出。但是如果没有找到记录,则不会显示任何内容。如果选择语句中没有记录,是否有任何异常处理或我可以做的事情来使我的输出“未找到记录”显示出来。
更新:
我添加后
结束循环
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('no records found');
在 END 之前;
SQL> 执行验证数据();
PL/SQL 过程成功完成。
也不显示。。