Oracle存储过程返回游标,查询语句通过动态SQL拼接的方式;

1,首先创建自定义包,其中包含游标变量的声明

CREATE OR REPLACE package POLICE.pkg_package

as

    type type_cursor is ref cursor;

end;

2存储过程的使用

CREATE OR REPLACE procedure POLICE.DangXmList(lx in varchar2,begin1 date,end1 date,num varchar2,type1 varchar2,name1 varchar2, cur_arg out pkg_package.type_cursor )

is

 mysql varchar2(1000);

begin

mysql:='select distinct * from v_p_dang_all where 1=1 ';

if lx<>'' then

  mysql:=mysql || 'and ALLKIND=''' || lx ||'''';

  end if;

if begin1<>'' then

  mysql:=mysql || 'and INSERT_TIME=''' || begin1 ||'''';

  end if;

if begin1<>'' then

  mysql:=mysql || 'and INSERT_TIME=''' || end1 ||'''' ;

end if;

if type1='xm' then

    mysql:=mysql || 'and xm=''' || name1 ||'''' ;

    else

    mysql:=mysql || 'and id_code=''' || name1 ||'''' ;

    end if;

  open cur_arg for mysql ;

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值