Estrarre dati da un XML Type
E' spesso utile accedere ai dati contenuti in una vriabile XML TYpe, usando l' SQL come se fossero in una tabella o vista.
XML ha per sua stessa natura una struttura gerarchica. Di conseguenza viene facile pensare ad un file XML come a record di tabelle legate tra loro da relazioni master-detail.
Pensiamo ad un documento XML memorizzato nella colonna XML Type di una tabella Oracle:
<root>
<master id ='A'>
<info>First Header</info>
<detail>
<info>Detail 1</info>
</detail>
<detail>
<info>Detail 2</info>
</detail>
</master>
<master id = 'B'>
<info>Second Header</info>
<detail>
<info>Detail 3</info>
</detail>
</master>
</root>
Creeremo due viste ("dumb_master" e "dumb_detail") connesse da relazione master-detail relationship e popolate dai dati contenuti nell' XML Document della colonna dumb.dumber.