oracle利用循环批量检索对应的数据

Posted 巴啦啦大魔王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle利用循环批量检索对应的数据相关的知识,希望对你有一定的参考价值。

按照单个字符查询匹配

begin 
declare
cursor myemp_cur
is select * from table_a a where a.type1=\'user\';
type myemp_tab is table of table_a%rowtype;
myemp_rd myemp_tab;
begin
open myemp_cur;
loop --循环1
fetch myemp_cur bulk collect into myemp_rd limit 20;
for i in 1..myemp_rd.count loop
dbms_output.put_line(\'**********************************************************\'); dbms_output.put_line(
\'目标对象:\'||myemp_rd(i).MKT_TRADE_TYPE_DESC); dbms_output.put_line(\'结果对象:\'); --循环2 declare i_num number; begin select length(myemp_rd(i).MKT_TRADE_TYPE_DESC) into i_num from dual; for i1 in 1..i_num loop

dbms_output.put_line(i1||\'--\');

--循环3
    declare
    cursor myemp_cur1
    is select * from table_a a where a.DK_SYSTEM_OF_UPD!=\'FCMS\' and 
    a.mkt_trade_type_desc like \'%\'||substr(myemp_rd(i).MKT_TRADE_TYPE_DESC,i1,1)||\'%\';
    type myemp_tab1 is table of table_a%rowtype;
    myemp_rd1 myemp_tab1;
    begin
    open myemp_cur1;
    loop
    fetch myemp_cur1 bulk collect into myemp_rd1 limit 20;
    for i3 in 1..myemp_rd1.count loop
    dbms_output.put_line(i3||\':\'||myemp_rd1(i3).MKT_TRADE_TYPE_DESC);
    end loop;
    exit when myemp_cur1%notfound;
    end loop;
    end;
--
end loop;
end;
--
end loop;
exit when myemp_cur%notfound;
end loop;
end;
end;

结果:
不太尽人意。换成两个字符匹配后:

看起来明了多了。

 



以上是关于oracle利用循环批量检索对应的数据的主要内容,如果未能解决你的问题,请参考以下文章

在 Oracle JDBC 中是不是可以批量存储过程调用和检索 OUT 参数?

matlab中怎样批量处理文件?

mysql存储过程怎样批量插入数据

Mybatis批量插入Oracle

linux:循环

Mybatis+Oracle进行数据的批量插入和更新