Oracle
 sql >> Baza danych >  >> RDS >> Oracle

jak wstawić długi ciąg oracle clob lub blob?

Twój literał jest domyślnie varchar, więc nie możesz przypisać do v_long_text wartość większa niż maksymalny literał varchar (maksymalna długość varchar w plsql to 32767).

Możesz użyć konkatenacji:

DBMS_LOB.APPEND(v_long_text, 'very long string');
DBMS_LOB.APPEND(v_long_text, 'yet another long string');

Oczywiście zakładam, że typ kolumny MYTABLE_NAME to CLOB

AKTUALIZACJA: Przykładowy kod:

DECLARE
    v_long_text CLOB;
BEGIN
   DBMS_LOB.CREATETEMPORARY(v_long_text,true);
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));
   DBMS_LOB.APPEND(v_long_text, dbms_random.string('U', 20000));

    INSERT INTO my_table VALUES (v_long_text);
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. Regex bazy danych Oracle dla powtarzających się grup znaków

  2. Odczytywanie tekstu arabskiego z bazy danych Oracle zakodowanego w WE8ISO8859P1 przy użyciu java

  3. Napraw „Nie można otworzyć aplikacji „SQLDeveloper.app”.’

  4. java.lang.ClassCastException:nie można rzutować oracle.sql.BLOB na oracle.sql.BLOB

  5. Nie ma więcej danych do odczytania z gniazda