dey: SQL export into XML (Oracle): Mach dirs doch selbst

Beitrag lesen

Hallo,

mit viel Recherche und gefrickel habe ich eine Lösung gefunden. Wie häufig bei mir der Fall bin ich mir zwar nicht sicher, ob der Stil sauber ist aber es funktioniert bei ersten Tests.

  
set heading off  
set long 180  
set linesize 180  
set trimspool on  
connect xxx/xxx@xxdb  
  
spool test.xml  
  
REPHEADER left "<?xml version='1.0'?>" skip left "<DB>" skip left "<Table1>"  
REPFOOTER left "</Table1>"  
select xmlelement("rows",xmlforest(col1,col2,col3,col4)) from table1;  
  
REPHEADER left "<Table2>"  
REPFOOTER left "</Table2>" skip left "</DB>"  
select xmlelement("rows",xmlforest(col1,col2,col3)) from table2;  
  
spool off  
exit;  

Heraus kommt eine XML-Datei mit zwei Tabellen.

  
<?xml version='1.0'?>  
<DB>  
<Table1>  
<rows><col1>wert1</col1><col2>wert1</col2><col3>wert1</col3><col4>wert1</col4></rows>  
<rows><col1>wert2</col1><col2>wert2</col2><col3>wert2</col3><col4>wert2</col4></rows>  
</Table1>  
  
<Table2>  
<rows><col1>wert1</col1><col2>wert1</col2><col3>wert1</col3></rows>  
</Table2>  
</DB>  

Ich hatte wirklich Probleme etwas zu googeln was auch nur halbwegs alle meine Fragen beantwortet: ca. 10 Abfragen mit unterschiedliche Suchbegriffen gestartet, ca. 50 Seiten geöffnet und aus ca. 8 - 10 sinnvollen Treffern die Lösung gebastelt.
Da Einträge hier im Forum bei Google immer sehr gut gelistet werden werde ich versuchen hier noch ein paar hilfreiche Schlagwörter für Google zu listen.
Oracle sql export spool in into xml write output text ausgeben mehrere Tabellen valide

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--