Oracle 返回结果集的 存储过程
发布日期:2025-04-29 23:13:29 浏览次数:14 分类:精选文章

本文共 1349 字,大约阅读时间需要 4 分钟。

??????Oracle????????????????????????????????????????????????SPGETROLELIST???????????????????????????????????????????????????????????????????1. ???????P_APPCODE?P_USERROLE2. ??P_USERROLE????ApproveFlag??   - ??P_USERROLE??'M'??ApproveFlag???'R'   - ??????ApproveFlag???????3. ??????CUR_RESULT?????SELECT?????????????Role???   - AppCode??P_APPCODE   - ApproveStatus??'P'???ApproveStatus??ApproveFlag   - Status???'A'???Status??'A'?ApproveStatus???   4. ??????????????????????????????????????????????????1. ?ApproveFlag????ApproveStatus = P_ApproveFlag???????????2. ???????????????????3. SQL???????????????????????????????1. ???ApproveFlag??????ApproveStatus??????2. ??????????????????????????3. ???SQL?????????????????????????????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    P_ApproveFlag := 'R';  ELSE    P_ApproveFlag := '';  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;

??????????????????????????????????????????

上一篇:Oracle 递归
下一篇:oracle 课堂笔记

发表评论

最新留言

表示我来过!
[***.240.166.169]2026年05月26日 11时14分03秒