ora-01403:未找到任何数据

在尝试从fa_product_net_value表中获取特定基金的估值日期时,遇到ORA-01403错误。问题在于某个日期下表中无数据。通过在PL/SQL代码中添加异常处理,当no_data_found异常出现时,将日期设置为'9999-01-01',但这样导致循环终止。最终通过使用MAX函数避免了异常,成功获取所有日期直至2015-12-31。
摘要由CSDN通过智能技术生成

需求:

打算从fa_product_net_value表中拿出一只基金对应的所有估值日期,再应用此日期计算相应的指标。


declare
v_date_1 date ;
v_product nvarchar2(20) := '00010000388015';
v_date date :=date'2015-06-19';
begin
DBMS_OUTPUT.ENABLE (buffer_size=>null);
 
while v_date<=date'2015-12-31'  loop
 
select t.d_esti_date into v_date_1 from dc_edw.fa_product_net_value t
where t.sk_product = v_product
and t.d_esti_date = v_date ;

dbms_output.put_line(v_date_1);
v_date := v_date+1 ;
end loop ;

end;


运行时 报错


网上找解决方案: 提示说是因为fa_product_net_value表中没有查出数据,(当表中存在记录但字段值为空值,与表中不存在记录为空是两个不同的概念),查找表发现

2015年7月25日没有数据

select * from dc_edw.fa_product_net_value t
where t.sk_product = '00010000388015' ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值