本文共 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;
??????????????????????????????????????????
转载地址:http://wopfk.baihongyu.com/