sql >> Database teknologi >  >> RDS >> Oracle

Oracle 10:Brug af HEXTORAW til at udfylde blob-data

For at opdatere en BLOB længere end 16383 bytes noget som dette kan bruges (hver linje har lige antal hex-cifre op til 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;

nu er grænsen kun størrelsen af ​​sætningen, som kan pålægges af operativsystemet (f.eks. SQLPlus, Pro*C, VB, JDBC...). For meget store udsagn kan PL/SQL også mislykkes med fejlen "uden af ​​Diana noder".



  1. Find den hyppigste værdi i SQL-kolonnen

  2. Hvordan installerer jeg kun klientværktøjerne til PostgreSQL på Windows?

  3. Almindelig måde at sammenligne tidsstempel i Oracle, PostgreSQL og SQL Server

  4. For Nvarchar(Max) får jeg kun 4000 tegn i TSQL?