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も「ダイアナノード外」エラーで失敗する可能性があります。