sql >> データベース >  >> RDS >> Oracle

PL / SQLを使用して、ファイルの内容をBLOBに取り込むにはどうすればよいですか?

    完全にPL/SQLで実行するには、ファイルをサーバー上に配置し、データベースで定義する必要のあるディレクトリに配置する必要があります。次のオブジェクトを作成します:

    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. クエリの説明プランをどのように解釈しますか?

    2. PostgreSQL-GROUP BY句に含めるか、集計関数で使用する必要があります

    3. MariaDBでのACOS()のしくみ

    4. リレーノードを使用したMySQLGaleraクラスターによるダウンタイムゼロのネットワーク移行