Pul*_*tia 2 sql oracle-sqldeveloper
我正在更新我的docmeta表,但我得到了
ORA-01403:未找到数据ORA-06512:第25行01403. 00000 - "未找到数据"错误
以下是查询.我怎样才能摆脱这个错误?
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 ;
Run Code Online (Sandbox Code Playgroud)
该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;
...
Run Code Online (Sandbox Code Playgroud)