oracle中函数和过程比较好,oracle中函数和存储过程简单示例-动态sql

oracle中函数和存储过程

1. 函数

create or replace function getArtCount(keyword in varchar2) return number

as

Result number;

Sqlt varchar2(4000);

begin

-- select t.sys_documentid into Result from dom_2_doclib t where t.sys_topic like '%key%';

-- select count(t.sys_documentid) into Result from dom_2_doclib t where t.art_auctioncode like '%art%';

-- select count(t.sys_documentid) into Result from dom_2_doclib t where t.sys_topic like '%1%';

--  select count(t.sys_documentid) into Result from dom_2_doclib t where t.sys_topic like '%高%';

Sqlt:='select count(t.sys_documentid)  from dom_2_doclib t where t.art_auctioncode='''||keyword||''' or   t.sys_topic like ''%'||keyword||'%''';

Sqlt:=Sqlt||' or t.art_authors like ''%'||keyword||'%''';

dbms_output.put_line(Sqlt);

EXECUTE IMMEDIATE Sqlt INTO Result;

-- Execute IMMEDIATE Sqlt into Result;

dbms_output.put_line(Result);

return Result;

end getArtCount;

调用方法:

select getArtcount('齐白石') from dual;

2. 储存过程

create or replace procedure getArtsCount(artcount out number,keyword in varchar2) as

Sqlt varchar2(4000);

begin

-- select count(*) into artcount  from dom_2_doclib  t where t.sys_topic like '%key%';

Sqlt:='select count(t.sys_documentid)  from dom_2_doclib t where t.art_auctioncode='''||keyword||''' or   t.sys_topic like ''%'||keyword||'%''';

Sqlt:=Sqlt||' or t.art_authors like ''%'||keyword||'%''';

EXECUTE IMMEDIATE Sqlt INTO artcount;

dbms_output.put_line(Sqlt);

end;

调用方法 :

declare

a number;

begin

getArtsCount(a,'a');

dbms_output.put_line('aaaa=='||a);

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值