Para atualizar um
BLOB
mais de 16383 bytes algo assim pode ser usado (cada linha tem um número par de dígitos hexadecimais até 32766):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;
agora o limite é apenas o tamanho da instrução, que pode ser imposta pelo ambiente operacional (por exemplo, SQLPlus, Pro*C, VB, JDBC...). Para instruções muito grandes, o PL/SQL também pode falhar com o erro "out of Diana nodes".