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

Menggunakan PL/SQL bagaimana Anda memasukkan konten file ke gumpalan?

Untuk melakukannya sepenuhnya di PL/SQL, file harus berada di server, terletak di direktori yang perlu Anda definisikan di database. Buat objek berikut:

CREATE OR REPLACE DIRECTORY
    BLOB_DIR
    AS
    '/oracle/base/lobs'
/



CREATE OR REPLACE PROCEDURE BLOB_LOAD
AS

    lBlob  BLOB;
    lFile  BFILE := BFILENAME('BLOB_DIR', 'filename');

BEGIN

    INSERT INTO table (id, your_blob)
        VALUES (xxx, empty_blob())
        RETURNING your_blob INTO lBlob;

    DBMS_LOB.OPEN(lFile, DBMS_LOB.LOB_READONLY);

    DBMS_LOB.OPEN(lBlob, DBMS_LOB.LOB_READWRITE);

    DBMS_LOB.LOADFROMFILE(DEST_LOB => lBlob,
                          SRC_LOB  => lFile,
                          AMOUNT   => DBMS_LOB.GETLENGTH(lFile));

    DBMS_LOB.CLOSE(lFile);
    DBMS_LOB.CLOSE(lBlob);

    COMMIT;

END;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cara untuk menghindari tabel temp global di Oracle

  2. Bagaimana cara menampilkan semua hak istimewa dari pengguna di Oracle?

  3. Tidak dapat menggunakan kueri LIKE di JDBC PreparedStatement?

  4. BDE vs ADO di Delphi

  5. Cara Membuat Prosedur Di Dalam Paket di Oracle