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

Oracle 10:HEXTORAWを使用してBLOBデータを入力する

    BLOBを更新するには 16383バイトより長い場合は、次のようなものを使用できます(各行には、最大32766の偶数の16進数が含まれます):

    DECLARE
      buf BLOB; 
    BEGIN
      dbms_lob.createtemporary(buf, FALSE);
      dbms_lob.append(buf, HEXTORAW('0EC1D7FA6B411DA58149'));
      --...lots of hex data...
      dbms_lob.append(buf, HEXTORAW('0EC1D7FA6B411DA58149'));
      UPDATE MyTable
         SET blobData = buf
       WHERE ID = 123;
    END;
    

    現在、制限はステートメントのサイズのみであり、オペレーティング環境(SQLPlus、Pro * C、VB、JDBCなど)によって課せられる可能性があります。非常に大きな文の場合、PL/SQLも「ダイアナノード外」エラーで失敗する可能性があります。



    1. SELECTが1行ではなく2行を変更した後にUPDATEが使用されるのはなぜですか?

    2. JDBCを使用して、INパラメータとしてユーザー定義レコードを使用してPL/SQLプロシージャを呼び出す

    3. 単一のSQLテーブルに対する集計計算クエリ

    4. MySQL-ロシア語の文字が正しく表示されない