摘抄自:ORA-01403未找到任何数据select into问题分析_=PNZ=BeijingL的博客-CSDN博客_01403未找到任何数据
解决方法一:count(*)
DECLARE
V_COUNT NUMBER;
V_ID NUMBER;
BEGIN
--先检查数据存在
SELECT COUNT(*)
INTO V_COUNT
FROM PRODUCTEN P
WHERE P.PRODUCTNAMESTR = '国内共享套餐';
--然后处理
IF V_COUNT > 0 THEN
SELECT P.PRODUCTID_PK
INTO V_ID
FROM PRODUCTEN P
WHERE P.PRODUCTNAMESTR = '国内共享套餐';
END IF;
--做其他的事情
DBMS_OUTPUT.put_line('产品ID=' || V_ID);
END;
解决方法二:异常处理
DECLARE
V_ID NUMBER;
BEGIN
BEGIN
SELECT P.PRODUCTID_PK
INTO V_ID
FROM PRODUCTEN P
WHERE P.PRODUCTNAMESTR = '国内共享套餐';
exception
when no_data_found then
V_ID := NULL;
END;
DBMS_OUTPUT.put_line('产品ID=' || V_ID);
END;
--执行结果:PL/SQL procedure successfully completed