- 论坛徽章:
- 0
|
10可用积分
- create or replace procedure get_cust_ln_sts as
- begin
- for item in (
- select
- cust_no, -- 客户编号
- cast(max(case when yqbj + dzibj + dzbj + hxbj = 0 then 0 else 1 end) as integer) "allzc", -- 是否含全部正常贷款
- cast(sum(zcbj) as number(16,2)) "zcbj", -- 正常本金合计
- cast(sum(yqbj) as number(16,2)) "yqbj", -- 逾期本金合计
- cast(sum(hxbj) as number(16,2)) "hxbj", -- 核销本金合计
- cast(sum(yslx) as number(16,2)) "yslx", -- 应收利息合计
- cast(sum(cslx) as number(16,2)) "cslx", -- 催收利息合计
- cast(sum(hxlx) as number(16,2)) "hxlx" -- 核销利息合计
- from loan_test
- group by cust_no) loop
- dbms_output.put_line('cust_no' || item.cust_no);
- dbms_output.put_line('是否全部正常' || item.allzc);
- dbms_output.put_line('正常本金合计' || item.zcbj);
- dbms_output.put_line('逾期本金合计' || item.yqbj);
- dbms_output.put_line('核销本金合计' || item.hxbj);
- dbms_output.put_line('应收利息合计' || item.yslx);
- dbms_output.put_line('催收利息合计' || item.cslx);
- dbms_output.put_line('核销利息合计' || item.hxlx);
- end loop;
- end;
复制代码
会报错,说PLS-00302: component 'ALLZC' must be declared.
。。。。
我能看懂,只是觉得,for item in这个形式很简单。我希望可以用这样的方式,有什么办法解决这个问题么? |
最佳答案
查看完整内容
cast(sum(zcbj) as number(16,2)) "zcbj", -- 正常本金合计 中 "zcbj" -> zcbj也就是去掉双引号试试
|