begin
select (case when p.product_code in ('A03XXX', 'MPXXX04000003') then v_claimType:='PD'
when p.product_code in ('YGGHJGJHGJD01', 'MP0JKHHJ7110006') then v_claimType:='GL'
end) into v_claimType
from XXX_PLOLICY p
where p.policy_no = v_case.report_no
and p.report_no = v_case.policy_no
and p.case_no = v_case.case_no
and p.case_times = v_case.case_times;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_claimType := '';
END;
报错:
PL/SQL: ORA-00905: 缺失关键字
PL/SQL: SQL Statement ignoredbegin
select (case when p.product_code in ('A03', 'MP04000003') then 'PD'
when p.product_code in ('D01', 'MP07110006') then 'GL'
end) into v_claimType
from clmp_policy p
where p.policy_no = v_case.report_no
and p.report_no = v_case.policy_no
and p.case_no = v_case.case_no
and p.case_times = v_case.case_times;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_claimType := '';
END;
主要是select into
本文介绍了一段 PL/SQL 代码中 select into 用法的问题及修正方法。原始代码试图根据产品代码来确定 claimType 的值,但由于语法错误而无法正常运行。通过调整 select 语句的格式和引入正确的 INTO 关键字,解决了原有的 ORA-00905 错误。
3084

被折叠的 条评论
为什么被折叠?



