sql >> Database >  >> RDS >> Oracle

Haal grote klompgegevens op met sqlplus

1) Eerste tafel en klomp.

create table large_clob(a clob);
insert into large_clob values( dbms_xmlgen.getXml('select * from dba_objects'));

2) Voer code uit in sqlplus

set linesize 32767 long 2000000000 longchunksize 32767 PAGESIZE 0 FEEDBACK OFF ECHO OFF TERMOUT OFF
Spool output_file.txt
  select a from large_clob;
spool off

Beschrijving van alle variabelen is hier

  • long 2000000000 - specificeert hoeveel bytes CLOB moeten worden opgehaald. (2 GB is maximaal)
  • linesize grootte van de lijn (32k is max). grootte van de lijn. Als de lijn groter is dan de maat , wordt de lijn doorgetrokken naar de volgende rij
  • longchunksize 32k - clob wordt opgehaald in chunks, waarbij de chunk-grootte 32k is
  • PAGESIZE 0 - disbale resultaatpagina fomrationg
  • FEEDBACK,ECHO,TERMOUT - schakel dit allemaal uit.
  • Spool output omleiden naar output_file.txt


  1. MYSQL-fout krijgen:Foutcode:2006 - MySQL-server is verdwenen

  2. Kolomstring splitsen in meerdere kolommenstrings

  3. Hoe krijg ik de automatisch verhoogde PK uit de Oracle-database?

  4. gegevens van het ene veld naar het andere moeten verplaatsen, binnen dezelfde tabel