gpt4 book ai didi

plsql - Oracle PL/SQL - 使用 “No data found” 时的 ORA-01403 “SELECT INTO”

转载 作者:行者123 更新时间:2023-12-04 22:30:47 25 4
gpt4 key购买 nike

我有一个 pl sql 代码,它按顺序执行三个查询以确定匹配级别并执行一些逻辑
问题是 - 当第一次查询没有结果(完全有效的场景)时,我得到 ORA-01403 找不到数据。
我知道我需要在 NO_DATA_FOUND 时加入 [Exception 子句]-但是如何添加它并继续下一个查询?

PL/SQL Code
SELECT A into PARAM A FROM SAMPLE WHERE SOME CONDITION;
-- GOT ORA-01403 No data found HERE

MATCH_LEVEL =1;
if A is null then
do some logic;
end if


SELECT A INTO PARAM_B FROM SAMPLE WHERE SOME OTHER CONDITION
MATCH_LEVEL =2
if A is null then
do some logic 2;
end if



SELECT A INTO PARAM_B FROM SAMPLE WHERE SOME OTHER CONDITION
MATCH_LEVEL =3
if A is null then
do some logic 3;
end if

END PL/SQL Code

最佳答案

Declare
--your declarations
begin
SELECT A into PARAM A FROM SAMPLE WHERE SOME CONDITION;
-- GOT ORA-01403 No data found HERE

Begin

MATCH_LEVEL =1;
if A is null then
do some logic;
end if;
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line ('Error...');
END;
--- and son on for other blocks

end;

关于plsql - Oracle PL/SQL - 使用 “No data found” 时的 ORA-01403 “SELECT INTO”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27258204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com