PL/SQL字符串Spit,Clob打印

本文介绍了一个PL/SQL过程PROCEDUREPRINT_CLOB,用于打印CLOB类型的长字符串,并提供了一个FUNCTIONSPLIT函数,用于将输入的字符串按指定的分隔符进行分割。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  PROCEDURE PRINT_CLOB(P_CLOB IN CLOB) AS
    L_OFFSET NUMBER DEFAULT 1;
  BEGIN
    LOOP
      EXIT WHEN L_OFFSET > DBMS_LOB.GETLENGTH(P_CLOB);
    
      FND_FILE.PUT_LINE(FND_FILE.OUTPUT,
                        DBMS_LOB.SUBSTR(P_CLOB, 4000, L_OFFSET));
    
      L_OFFSET := L_OFFSET + 4000;
    END LOOP;
  END;

    由于使用FND_FILE.PUT_LINE没有dbms_output.put_line的250个字符的限制,但是Varchar2还是有4000字符的限制的。

 

 

 FUNCTION SPLIT(P_STR IN VARCHAR2, P_PATTERN IN VARCHAR2 := ';')
    RETURN T_VARRAY
  
   AS
    LTAB T_VARRAY := T_VARRAY();
    POS  INTEGER := 0;
    LS   VARCHAR2(255) := P_STR;
  BEGIN
    POS := INSTR(LS, P_PATTERN);
    WHILE POS > 0 LOOP
      LTAB.EXTEND;
      LTAB(LTAB.COUNT) := SUBSTR(LS, 1, POS - 1);
      LS := SUBSTR(LS, POS + 1);
      POS := INSTR(LS, P_PATTERN);
    END LOOP;
    LTAB.EXTEND;
    LTAB(LTAB.COUNT) := LS;
    RETURN LTAB;
  
  END;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值