PROCEDURE and FUNCTION

    技术2022-05-20  63

            有阵子没用了,都给忘了.温故知新!

     

    /* In parameter_list parameters are separated by comma(,) */CREATE OR REPLACE PROCEDURE PROCEDURE_NAME(parameter_list) /*  BOOLEAN: return type  (varchar2,number)    'AS' can be replace by 'IS'. The same as their role.*/RETURN BOOLEAN AS  /*Declarative section is here*/BEGIN/*Executable section is here*/EXCEPTION/*Exception section is here*/END  PROCEDURE_NAME;

    /* In parameter_list parameters are separated by comma(,) */CREATE OR REPLACE FUNCTION FUNCTION_NAME(parameter_list) /*  BOOLEAN: return type  (varchar2,number)    'AS' can be replace by 'IS'. The same as their role.*/RETURN BOOLEAN AS  /*Declarative section is here*/BEGIN/*Executable section is here*/RETURN expression;  -- Necessary  for FUNTIONEXCEPTION/*Exception section is here*/END  FUNCTION_NAME;

    parameter_list_argument:TYPE: IN ,OUT , IN OUT /* 1. 与OUT或者IN OUT模式的形式参数相关联的实际参数必须是一个变量,而不能是一个常量或表达式  2. IN模式的形式参数不能被修改*/

     

     

     

    CREATE OR REPLACE FUNCTION GET_ROLES_BY_RES(P_RES_ID     IN VARCHAR2)  RETURN VARCHAR2 AS  ROLE_NAMES VARCHAR2(10000);    CURSOR ROLE_RESULT IS      SELECT ROLE_NAME        FROM IES_ROLE IR, Ies_Privs IP       WHERE IR.ROLE_ID = IP.Role_Id         AND IP.RES_ID  = P_RES_ID       ORDER BY IR.ROLE_ID;BEGIN  ROLE_NAMES := '';    --OPEN ROLE_RESULT;    FOR REC IN ROLE_RESULT LOOP      ROLE_NAMES := REC.ROLE_NAME || ';' || ROLE_NAMES;    END LOOP;    --CLOSE ROLE_RESULT;  RETURN ROLE_NAMES;END GET_ROLES_BY_RES;

     


    最新回复(0)