oracle split_for_array 用法示例

来源:互联网 发布:西南交通网络大学是985 编辑:程序博客网 时间:2024/05/29 02:44
CREATE OR REPLACE PROCEDURE PROC_INSERT_COPER_INFO(
               v_COO_ORG            IN    VARCHAR2,
               v_PROD_TASK_INFO_ID  IN    VARCHAR2,
               v_COPER_TYPE         IN    VARCHAR2      
)
AS


  CURSOR C_COPER_ORG  IS  SELECT * FROM TABLE(CAST(SPLIT_FOR_ARRAY(v_COO_ORG, ',') AS ARRAY_CONTAINER));
  v_ORG    C_COPER_ORG%rowtype;


BEGIN


  --先删除在增
   delete from COPER_INFO where EMER_TASK_ID = v_PROD_TASK_INFO_ID and COPER_TYPE=v_COPER_TYPE;
   


   
    --循环迭代
   for v_ORG in C_COPER_ORG loop
        dbms_output.put_line('---------,v_ORG.Column_Value-----------==  ' || v_ORG.Column_Value);
         insert into COPER_INFO(COPER_INFO_ID,EMER_TASK_ID,COPER_ORG,COPER_TYPE,COPER_STATE)
               values (SEQ_COPER_INFO.NEXTVAL,v_PROD_TASK_INFO_ID,v_ORG.Column_Value,v_COPER_TYPE,'001');  
   end loop;
END;
原创粉丝点击