Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Membuang bidang CLOB ke dalam file?

Kode pl/sql ini harus bekerja di oracle 11g. Ini membuang teks clobs ke direktori dengan judul sebagai nama file.

BEGIN 
  FOR rec IN (
    select title, text 
    from mytable
  )
  LOOP 
    DBMS_XSLPROCESSOR.clob2file(rec.text, 'DUMP_SOURCES', rec.title ||'.txt'); 
  END LOOP;
END;

Jika DBMS_XSLPROCESSOR tidak tersedia maka Anda dapat mengganti DBMS_XSLPROCESSOR.clob2file dengan prosedur yang menggunakan UTL_FILE.

Misalnya :

CREATE OR REPLACE PROCEDURE CLOB2FILE (
    clob_in IN CLOB,
    directory_name IN VARCHAR2,
    file_name IN VARCHAR2
)
IS
    file_handle UTL_FILE.FILE_TYPE;
    clob_part VARCHAR2(1024);
    clob_length NUMBER;
    offset NUMBER := 1;
BEGIN
    clob_length := LENGTH(clob_in);
    file_handle := UTL_FILE.FOPEN(directory_name, file_name, 'W');

    LOOP
        EXIT WHEN offset >= clob_length;
        clob_part := DBMS_LOB.SUBSTR (clob_in, 1024, offset);
        UTL_FILE.PUT(file_handle, clob_part);
        offset := offset + 1024;
    END LOOP;

    UTL_FILE.FFLUSH(file_handle);
    UTL_FILE.FCLOSE(file_handle);

EXCEPTION
    WHEN OTHERS THEN
        UTL_FILE.FCLOSE(file_handle);
        RAISE;

END;

Atau mungkin ganti DBMS_XSLPROCESSOR.clob2file dengan dbms_advisor.create_file.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi atau Prosedur untuk klausa IN

  2. Fungsi TO_CHAR(angka) di Oracle

  3. Bagaimana menemukan dependensi di dalam paket Oracle?

  4. LISTAGG() Fungsi di Oracle

  5. Bagaimana cara mendapatkan kunci yang dihasilkan dari sisipan batch JDBC di Oracle?