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

Jak wstawić długi ciąg do typu danych CLOB w Oracle?

Poniżej podano prosty przykład wstawiania długiego łańcucha do typu danych CLOB w Oracle. Nie możesz wstawić danych bezpośrednio do typu danych CLOB, musisz użyć funkcji Empty_Clob() z klauzulą ​​return w instrukcji insert, a następnie użyć dbms_lob.write procedura zapisywania danych. Ponieważ jeśli spróbujesz wstawić długi ciąg bezpośrednio do kolumny CLOB, otrzymasz ORA-01704:błąd za długi literał ciągu podczas wstawiania danych.

Oto przykład bloku PL SQL, w którym można wstawić długi ciąg do tabeli zawierającej kolumnę CLOB.

[typ kodu="SQL"] DECLARE
v_clob   CLOB;
BEGIN
WSTAW DO A_CLOB_TABLE (srlno, c_data)
WARTOŚCI (123, EMPTY_CLOB ())
POWRACANIE c_data
INTO v_clob;

DBMS_LOB.write (v_clob,
DŁUGOŚĆ ('podaj tutaj trochę długiego ciągu'),
1,
'podaj tutaj trochę długiego ciągu');
ZATWIERDZENIE;
KONIEC;[/kod]

  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 :wybierz maksymalną wartość z różnych kolumn tego samego wiersza

  2. Pobierz wartość z FieldA, wyślij do funkcji db, zwróć wartość do FieldB

  3. Rozszerz kontrolę sieci EM na nowe węzły

  4. problem ORA-00001:naruszone ograniczenie unikatowe podczas INSERT/UPDATE

  5. Jak wybrać kolumny z tabeli, które nie mają wartości null?