oracle存储过程返回结果集sys_refcursor,oracle存储过程返回结果集SYS_REFCURSOR

该博客介绍了如何使用PL/SQL创建一个存储过程`proc_query_rent`,该过程根据传入的区域、室、厅和租金范围参数动态过滤租房数据。示例展示了调用过程并打印山区的租房信息,突出动态查询和条件过滤的应用。
摘要由CSDN通过智能技术生成

create or replace procedure proc_query_rent

(

param_region varchar2,--定义区

param_room number,--定义室

param_hall number,--定义厅

param_rentMin number,--定义租金上限

param_rentMax number,--定义租金下限

param_resultSet OUT SYS_REFCURSOR --定义out参数返回结果集

)

as

--v_text_sql varchar2(500);

begin

open param_resultSet for

select * from tb_rent

where

region like

case

when param_region IS null then '%'

else param_region

end

AND

room like

case

when param_room IS null then '%'

else to_char(param_room)

end

AND

hall like

case

when param_hall IS null then '%'

else to_char(param_hall)

end

AND

rent between

case

when param_rentMin IS null then 0

else param_rentMin

end

AND

case

when param_rentMax IS null then 99999999

else param_rentMax

end;

end;

declare v_rent_rows SYS_REFCURSOR; v_rent_row tb_rent%rowType; begin proc_query_rent('山区',null,null,1200,null,v_rent_rows); Dbms_output.put_line('所在区 室 厅 租金'); loop fetch v_rent_rows into v_rent_row; exit when v_rent_rows%NOTFOUND; Dbms_output.put_line(v_rent_row.region||' '||v_rent_row.room||' '||v_rent_row.hall||' '||v_rent_row.rent); end loop; close v_rent_rows; end;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值