批量导入po接口生成po的代码

这篇博客展示了如何使用Oracle PL/SQL编写一个批量导入数据的接口,包括split函数用于处理分隔符,以及import_file过程,该过程处理文件数据并将其插入到指定的数据库表中。代码中涉及了文件读取、字符串处理和数据库操作。
摘要由CSDN通过智能技术生成

  批量导入po接口生成po的代码:


create or replace package body XXOM_PO_IMPORT is
/* create by yong.li 20110610  */
FUNCTION XXGEM_split(pi_str   Varchar2, pi_separator   Varchar2)   
    RETURN t_Array IS  
     
    idx          Number; --分隔符在字符串中的位置   
    currentindex Number := 1; --数组的索引   
    strs         t_Array; --返回值   
    v_str        varchar2(4000) := pi_str; --临时变量   
  BEGIN  
     
    IF pi_str IS NOT NULL AND pi_separator IS NOT NULL THEN  
      --存在分隔符   
      IF INSTR(v_str, pi_separator) <> 0 THEN  
        LOOP   
          EXIT WHEN v_str IS NULL;   
          EXIT WHEN INSTR(v_str, pi_separator) = 0;   
          idx := INSTR(v_str, pi_separator);   
          --截取字符串赋值给对应的数组   
          strs(currentindex) := SUBSTR(v_str, 0, idx - 1);   
          currentindex := currentindex + 1;   
          --更新字符串   
          v_str := SUBSTR(v_str, idx + 1);   
        END LOOP;   
      END IF;   
    END IF;   
    --如果分隔符为空,则直接返回字符串   
    IF v_str IS NOT NULL THEN  
      strs(currentindex) := v_str;   
    END IF;   
    Return strs;   
  END XXGEM_split;   


 procedure import_file(l_gfm_id       number,
                        v_table        varchar2,
                        v_fields       varchar2,
                        v_col_separate varchar2,
                        v_row_separate varchar2,
                        p_organization_id  number) is
  
    v_row_sep     varchar2(1);
    v_col_sep     varchar2(1);
    
  
    my_field     dbms_utility.uncl_array;
    my_field_cnt binary_integer;
    
  
    
    file_len    NUMBER;
    file_loc    NUMBER; -- file location
    temp_data   varchar2(2000);
    
    enter_loc   NUMBER; -- enter_key location on temp buffer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值