Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana saya bisa menghindari kesalahan panjang variabel mentah yang terlalu panjang di SQL Developer?

Sebuah RAW dibatasi hingga 2000 byte. Jika data Anda lebih panjang dari itu, Anda harus menyimpannya di CLOB lalu konversikan CLOB ke BLOB yang sayangnya, sedikit lebih rumit dari string_to_raw fungsi. Sesuatu seperti ini akan bekerja dengan asumsi Anda dapat menetapkan seluruh string ke CLOB variabel yang harus bekerja selama string kurang dari 32676 byte. Jika lebih panjang dari itu, Anda harus menulis ke CLOB berkeping-keping dan kemudian dikonversi menjadi BLOB .

declare
  l_blob        blob;
  l_clob        clob := rpad('{"foo": {"id": "1", "value": "2", "name": "bob"}}',3200,'*');
  l_amt         integer := dbms_lob.lobmaxsize;
  l_dest_offset integer := 1;
  l_src_offset  integer := 1;
  l_csid        integer := dbms_lob.default_csid;
  l_ctx         integer := dbms_lob.default_lang_ctx;
  l_warn        integer;
begin
  dbms_lob.createTemporary( l_blob, false );
  dbms_lob.convertToBlob( l_blob,
                          l_clob,
                          l_amt,
                          l_dest_offset,
                          l_src_offset,
                          l_csid,
                          l_ctx,
                          l_warn );
  update json_data
     set data = l_blob;
end;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mempercepat row_number di Oracle?

  2. Mengapa SQL*Plus melakukan komit saat keluar?

  3. Oracle 12c - pilih string setelah kemunculan karakter terakhir

  4. Filter bulan dan tahun Kriteria Kueri

  5. Cara Membuat VARRAY Sebagai Anggota Blok PL/SQL Di Database Oracle