sql >> Databasteknik >  >> RDS >> Oracle

Exportera en CLOB till en textfil med Oracle SQL Developer

om du har tillgång till filsystemet på din databasbox kan du göra något så här:

CREATE OR REPLACE DIRECTORY documents AS 'C:\';
SET SERVEROUTPUT ON
DECLARE
  l_file    UTL_FILE.FILE_TYPE;
  l_clob    CLOB;
  l_buffer  VARCHAR2(32767);
  l_amount  BINARY_INTEGER := 32767;
  l_pos     INTEGER := 1;
BEGIN
  SELECT col1
  INTO   l_clob
  FROM   tab1
  WHERE  rownum = 1;

  l_file := UTL_FILE.fopen('DOCUMENTS', 'Sample2.txt', 'w', 32767);

  LOOP
    DBMS_LOB.read (l_clob, l_amount, l_pos, l_buffer);
    UTL_FILE.put(l_file, l_buffer);
    l_pos := l_pos + l_amount;
  END LOOP;
EXCEPTION
  WHEN OTHERS THEN
    DBMS_OUTPUT.put_line(SQLERRM);
    UTL_FILE.fclose(l_file);
END;
/

Som jag kopierade och klistrade in från denna sida.

Den här tidigare frågan om UTL_FILE kan också vara användbar. Den adresserar export till CSV. Jag har dock ingen aning om eller erfarenhet av hur UTL_FILE hanterar CLOBs.



  1. GWFG i Oracle RAC

  2. Hur man subtraherar minuter från ett Datetime-värde i MariaDB

  3. Finns det ett bästa sätt att undvika exekvering av processer mer än en gång i Oracle?

  4. Sammanfoga kolumnvärden till en kommaseparerad lista