----------------------------------------------------------------------------------------------
begin
v_company_id:=company_id;for rec in (
select count(*) icount,distributer_id from cost_term aa where aa.distributer_id in
( select distributer_id from cost_distributer where node_id='20' and distributer_type='0') and distributer_id<>'1'
group by aa.distributer_id ) loopif v_count_1<=30-rec.icount then
v_distributer_id:=rec.distributer_id;else
null;
return '请新增积分;
--select max(distributer_id) into v_distributer_id from distributer;
end if;
end loop;---------------------------------------------------------------------------------------------
select count(*) icount,distributer_id from ecc_imr_term aa where aa.distributer_id in
( select distributer_id from ecc_distributer where node_id='20' and distributer_type='0') and distributer_id<>'1'
group by aa.distributer_id 得出的结果30 5775556
30 5775557
23 5773336
19 5733335上面那游标好像LOOP循环不起来???
begin
v_company_id:=company_id;for rec in (
select count(*) icount,distributer_id from cost_term aa where aa.distributer_id in
( select distributer_id from cost_distributer where node_id='20' and distributer_type='0') and distributer_id<>'1'
group by aa.distributer_id ) loopif v_count_1<=30-rec.icount then
v_distributer_id:=rec.distributer_id;else
null;
return '请新增积分;
--select max(distributer_id) into v_distributer_id from distributer;
end if;
end loop;---------------------------------------------------------------------------------------------
select count(*) icount,distributer_id from ecc_imr_term aa where aa.distributer_id in
( select distributer_id from ecc_distributer where node_id='20' and distributer_type='0') and distributer_id<>'1'
group by aa.distributer_id 得出的结果30 5775556
30 5775557
23 5773336
19 5733335上面那游标好像LOOP循环不起来???
在循环里头用dbms_output.put_line();打印点东西
看看是哪步出的错
或者用plsql developer直接调试看看哪行出的错
select 是肯定有数据的
if条件就不符合啊所以进else了
建议你把数据都打出来看看比对比对
30 5775556
30 5775557
23 5773336
19 5733335 其实我是一行一行比对,if条件前三行都是不满足的,只有最后一行满足,想通过循环取出最后一行的值!
不知道通过这方法能不能实现