BEGIN
QuerySql:='SELECT P.A FROM TB_A P WHERE P.B='''||A||''' AND P.B='''||B||'''';
EXECUTE IMMEDIATE QuerySql;
IF SQL%FOUND THEN
DBMS_OUTPUT.put_line('DDDDDDD');
RAISE EXIST_EXCEPTION;
RETURN;
ELSE
DBMS_OUTPUT.put_line('CCC');
END IF;
END;我在表中能查到上面过程中的SELECT数据,可是怎么执行到ELSE下面去了???数据库高手帮我解决下呀?不是说用NO_DATA_FOUND那样的话就达不到我要的效果了,谢谢了!!!
QuerySql:='SELECT P.A FROM TB_A P WHERE P.B='''||A||''' AND P.B='''||B||'''';
EXECUTE IMMEDIATE QuerySql;
IF SQL%FOUND THEN
DBMS_OUTPUT.put_line('DDDDDDD');
RAISE EXIST_EXCEPTION;
RETURN;
ELSE
DBMS_OUTPUT.put_line('CCC');
END IF;
END;我在表中能查到上面过程中的SELECT数据,可是怎么执行到ELSE下面去了???数据库高手帮我解决下呀?不是说用NO_DATA_FOUND那样的话就达不到我要的效果了,谢谢了!!!
它能知道insert或者update了多少条记录,或者select into
如果你想要知道检索出多少条记录有2个办法,
一个是count(*)
一个就是
用游标打开这个语句,然后
open cursexx
loop
fetch cursexx into curseryy
exit when cursexx %notfound;RAISE EXIST_EXCEPTION;
RETURN;
end loop;