Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle 10:Използване на HEXTORAW за попълване на blob данни

За да актуализирате BLOB по-дълъг от 16383 байта може да се използва нещо подобно (всеки ред има четен брой шестнадесетични цифри до 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;

сега ограничението е само размерът на израза, който може да бъде наложен от операционната среда (напр. SQLPlus, Pro*C, VB, JDBC...). За много големи изрази PL/SQL също може да се провали с грешка „извън възлите на Diana“.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. oracle systimestamp (sysdate) в милисекунди

  2. Имам автономен тригер, но изпълнявам само веднъж в една и съща сесия

  3. Codeigniter Oracle PDO-oci

  4. Няма повече SPU

  5. Как да генерирате пакет API за таблица в Oracle SQL Developer?