EXTRACT
(dan EXTRACTVALUE
) adalah fungsi yang tidak digunakan lagi. Anda harus menggunakan XMLTABLE
sebagai gantinya:
with sample_data as (select xmltype('<film>
<title>Godfather, The</title>
<year>1972</year>
<directors>
<director>Francis Ford Coppola</director>
</directors>
<genres>
<genre>Crime</genre>
<genre>Drama</genre>
</genres>
<plot>Son of a mafia boss takes over when his father is critically wounded in a mob hit.</plot>
<cast>
<performer>
<actor>Marlon Brando</actor>
<role>Don Vito Corleone</role>
</performer>
<performer>
<actor>Al Pacino</actor>
<role>Michael Corleone</role>
</performer>
<performer>
<actor>Diane Keaton</actor>
<role>Kay Adams Corleone</role>
</performer>
<performer>
<actor>Robert Duvall</actor>
<role>Tom Hagen</role>
</performer>
<performer>
<actor>James Caan</actor>
<role>Sonny Corleone</role>
</performer>
</cast>
</film>') x from dual)
select x.*
from sample_data sd,
xmltable('/film[title="Godfather, The"]/cast/performer' passing sd.x
columns actor varchar2(50) path '//actor',
role varchar2(50) path '//role') x;
ACTOR ROLE
-------------------------------------------------- --------------------------------------------------
Marlon Brando Don Vito Corleone
Al Pacino Michael Corleone
Diane Keaton Kay Adams Corleone
Robert Duvall Tom Hagen
James Caan Sonny Corleone
(Saya telah menyertakan kolom peran hanya untuk info tambahan; Anda cukup menghapus kolom itu dari daftar kolom di XMLTABLE
bagian jika Anda tidak perlu melihatnya.)