Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मैं SQL डेवलपर में कच्ची चर लंबाई बहुत लंबी त्रुटियों से कैसे बच सकता हूं?

एक RAW 2000 बाइट्स तक सीमित है। अगर आपका डेटा इससे लंबा है, तो आपको उसे CLOB . में स्टोर करना होगा और फिर CLOB . को कन्वर्ट करें एक BLOB . के लिए जो, दुर्भाग्य से, थोड़ा अधिक जटिल है कि string_to_raw समारोह। ऐसा कुछ यह मानकर काम करेगा कि आप पूरी स्ट्रिंग को CLOB . पर असाइन कर सकते हैं वेरिएबल जो तब तक काम करना चाहिए जब तक कि स्ट्रिंग लंबाई में 32676 बाइट्स से कम न हो। यदि यह इससे अधिक लंबा है, तो आपको CLOB . पर लिखना होगा टुकड़ों में और फिर एक 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. Oracle डेटाबेस में पैरामीटर्स के साथ PL/SQL संग्रहीत कार्यविधियाँ कैसे बनाएँ?

  2. अनुक्रम मान के साथ 12c ऑटोपॉपुलेटिंग कॉलम

  3. Oracle DB में विदेशी कुंजियों और उनके द्वारा संदर्भित तालिकाओं की सूची

  4. Oracle UNION और ORDER BY के साथ जिज्ञासु मुद्दा

  5. क्या ओरेकल में उपनाम को परिभाषित करने के लिए 'as' कीवर्ड आवश्यक है?