Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Đưa các trường CLOB vào tệp?

Đoạn mã pl / sql này sẽ hoạt động trong oracle 11g, nó đưa văn bản của đoạn mã vào một thư mục có tiêu đề là tên tệp.

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

Nếu không có DBMS_XSLPROCESSOR thì bạn có thể thay thế DBMS_XSLPROCESSOR.clob2file bằng một thủ tục sử dụng UTL_FILE.

Ví dụ:

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;

Hoặc có thể thay thế DBMS_XSLPROCESSOR.clob2file bằng 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. Cách tìm các con trỏ đang mở hiện tại trong Oracle

  2. Làm cách nào để kiểm tra số lượng kết nối tối đa được phép tới cơ sở dữ liệu Oracle?

  3. BadImageFormatException. Điều này sẽ xảy ra khi chạy ở chế độ 64 bit với các thành phần máy khách Oracle 32 bit được cài đặt

  4. cách sửa đổi kích thước của một cột

  5. Ngày trung bình trong sql oracle