oracle pl/sql for loop循环的使用

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:216

oracle pl/sql for loop循环的使用

spool p2p_430.log

prompt "create temp table"
create table temp0825
(v_account_id number, v_transfer_type number);
declare
v_id number;
v_account_id number ;
v_transfer_type number;
begin
for x in (select distinct account_id account_id from tb_cashtransfer_log where account_type=1 ) loop
select max(id) id into v_id from tb_cashtransfer_log where account_id =x.account_id;
select account_id ,transfer_type into v_account_id,v_transfer_type from tb_cashtransfer_log where id=v_id ;
if v_transfer_type=1 then
insert into temp0825 values ( v_account_id,v_transfer_type);
commit;
end if;

end loop;
end;
/

prompt "transfer_type=1"

select * from temp0825;

prompt "tb_test_status.location_type<>3'
select tb_test_status.test_id,
tb_test_status.location_type,
tb_test.login
from temp0825, tb_test_status, tb_test
where tb_test_status.test_id = ea_casino_temp0825.v_account_id
and tb_test.id = tb_test_status.test_id
and tb_test_status.location_type <> 3;

prompt "update location_type=3"

update tb_test_status set online_='T',location_type=3 where test_id in
(select tb_test_status.test_id from temp0825,tb_test_status
where tb_test_status.test_id=ea_casino_temp0825.v_account_id and tb_test_status.location_type<>3);

commit;

select tb_test_status.test_id,
tb_test_status.location_type,
tb_test.login
from ea_casino_temp0825, tb_test_status, tb_test
where tb_test_status.test_id = ea_casino_temp0825.v_account_id
and tb_test.id = tb_test_status.test_id
and tb_test_status.location_type <> 3;

prompt "drop temp table"
drop table temp0825 ;
spool off;
exit;

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】