1. 首页 > ITPUX技术网 > 正文

oracle pl/sql for loop循环的使用

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;

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息