Tem
27
2020

Replace İşleminde exceeding 32K Hatasının Giderilmesi

Merhaba,

* CLOB (character large object) ile çalışırken replace işlemlerinde karştığımız “exceeded the 32K size limit” hatasını giderilmesi için kullanılan workarround fonksiyon aşağıdaki gibidir. Replace işlemlerini CLOB ile çalışırken kullanabiliriz.

   FUNCTION r2c (in_source    IN CLOB,
                 in_search    IN VARCHAR2,
                 in_replace   IN CLOB)
      RETURN CLOB
   IS
      l_pos   PLS_INTEGER;
   BEGIN
      l_pos := INSTR (in_source, in_search);
 
      IF l_pos > 0
      THEN
         RETURN    SUBSTR (in_source, 1, l_pos - 1)
                || in_replace
                || SUBSTR (in_source, l_pos + LENGTH (in_search));
      END IF;
 
      RETURN in_source;
   END r2c;

* CLOB : 4GB a kadar karakter objesini tutan veri yapısı.

Mustafa Korkmaz


Yorum yapın

*