01403. 00000 - “未找到数据”
Posted
技术标签:
【中文标题】01403. 00000 - “未找到数据”【英文标题】:01403. 00000 - "no data found" 【发布时间】:2014-03-20 11:16:16 【问题描述】:我正在更新我的 docmeta 表,但我得到了
ORA-01403: 未找到数据 ORA-06512: 在第 25 行 错误
下面是查询。我怎样才能摆脱这个错误?
DECLARE
varPayTerm varchar2(300);
BEGIN
FOR X IN(
SELECT
d.did, d.xproject_id
FROM
revisions r,
(SELECT DDOCNAME, MAX(DID) mDID
FROM
REVISIONS REV
WHERE
dcreatedate >='01-Jan-14'
GROUP BY
DDOCNAME
) RevLatestID,
docmeta d
--temp_project p
WHERE
RevLatestID.mdid = r.did
and d.did = r.did
)
loop
select paymentterm
into varPayTerm
from project where pid = X.xproject_id and paymentterm is not null;
update docmeta
set xpaymentterm= varPayTerm
where did=X.dID
and xproject_id = X.xproject_id;
END LOOP;
END ;
【问题讨论】:
【参考方案1】:SELECT...INTO
语句不返回任何行
如果不返回任何行是有效的,并且您想继续,您可以捕获并忽略 NO_DATA_FOUND 异常,如下所示:
...
BEGIN
SELECT ... INTO...;
EXCEPTION
WHEN NO_DATA_FOUND THEN
paymentterm := 0;
-- or ant msg you want
then return 'no data here';
END;
...
【讨论】:
Up_One 给我 :) KKKK以上是关于01403. 00000 - “未找到数据”的主要内容,如果未能解决你的问题,请参考以下文章
ORA-01403 - 未找到数据 - 即使游标 SELECT 语句运行良好
Oracle PL/SQL - ORA-01403 使用“SELECT INTO”时“未找到数据”