Oracle 返回结果集的 存储过程

create or replace
PROCEDURE SPGETROLELIST 
(
  P_APPCODE IN VARCHAR2  
, P_USERROLE IN VARCHAR2  
, CUR_RESULT OUT SYS_REFCURSOR  
) AS 

P_ApproveFlag char(1);  

BEGIN

    If P_USERROLE = 'M'  Then
        begin
        P_ApproveFlag := 'R';  
        end;
    Else  
        begin
        P_ApproveFlag := '';  
        end;
    End If; 

    open CUR_RESULT for 
    Select * 
    From  Role  
    Where AppCode = P_APPCODE  
    And   (ApproveStatus = 'P' or ApproveStatus = P_ApproveFlag)  
    And   (Status <> 'A' Or (Status = 'A' And ApproveStatus Is Not Null));  

    exception
    when no_data_found then
        open CUR_RESULT for
        select null
        from Role
        where 1 =2 ;
 
 
END SPGETROLELIST;

 

转载于:https://www.cnblogs.com/freeliver54/p/3166267.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值