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

Beitrag lesen

Hallo Marcus,

du scheinst die Antwort schon gefunden zu haben, trotzdem möchte ich das entsprechende Oracleforum erwähnen
XML-DB

Danke für den Link. So etwas hatte ich gesucht. Allerdings ist da eine Anfrage vom 3. Nov, die meinem Problem sehr ähnlich und nicht eine Antwort hat. Ich denke, dass ist ein Forum mit Spezialisten, wie XML in Oracle abgelegt werden kann.

@Christian
War mir eine Freude und Selbstverständlichkeit. Das Selfforum hat mir so oft weitergeholfen (sowohl der aktive Part als auch das Archiv), dass ich gerne meinen Beitrag leiste.

Ich habe noch ein zusätzliches Problem gelöst, welches ich so auch nicht googlen konnte. Einen Zeitstempel innerhlb der XML ausgeben, um
a) die Aktualität des Exports anzugeben  und
b) die zeitliche Belastung der DB auszuwerten

  
set heading off  
set long 180  
set linesize 180  
set trimspool on  
connect xxx/xxx@xxdb  
COLUMN start_time new_val start_tag  
SELECT '<start_time>'||TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')||'</start_time>' start_time from dual;  
  
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>"  
select xmlelement("rows",xmlforest(col1,col2,col3)) from table2;  
  
prompt &start_tag  
  
REPHEADER left "<end_time>"  
REPFOOTER left "</end_time>" skip left "</DB>"  
COLUMN end_time new_val todaysdate  
SELECT TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') end_time from dual;  
  
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>  
<start_time>20081104180551</start_time>  
  
<end_time>  
20081104180551  
</end_time>  
</DB>  

Google Suchwöter: Oracle sql export spool in into xml write output text ausgeben mehrere Tabellen valide time stamp Zeitstempel variable zeitvergleich

bydey

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