PLSQL学习笔记

1.游标传参

select * from irp_dm_jcgz where dm like '2401%' and jctj is not null and  xybz='Y';
--改成如下:
方法1:
declare
cursor c_sql(v_dm varchar2) is 
select * from irp_dm_jcgz where dm like v_dm||'%'and jctj is not null and  xybz='Y';
begin
for each in c_sql(2402) 
loop
dbms_output.put_line(each.dm);
end loop;
end;


select * from irp_dm_jcgz where (dm like '2406%' or dm like '2409%' or dm like '2411%' or dm like '2413%') 
and jctj is not null and  xybz='Y';

方法2:
declare
cursor c_sql(v_dm varchar2) is select * from irp_dm_jcgz 
where regexp_like(dm,'^('||v_dm||')') and jctj is not null and  xybz='Y';
begin
for each in c_sql('2402|2401') 
loop
dbms_output.put_line(each.dm);
end loop;
end;

 

posted @ 2019-10-23 14:41  数鸭哥  阅读(146)  评论(0)    收藏  举报