XML con Oracle 11g
CARLOS BORIS SOSA MAYDANA
Creando la tabla XML
create table usuario (id number, perfil xmltype);
Insertando registros
insert into usuario values (1,
XMLTYPE('<perfil>
<registro>Me
<accion>gusta
<objeto>futbol</objeto>
<objeto>musica</objeto>
</accion>
</registro>
</perfil>'));
Realizando consultas
select [Link], [Link], [Link]()
from usuario u,
XMLTABLE('/perfil/registro/accion'
passing [Link]
columns accion VARCHAR2(30) PATH 'text()',
objeto XMLTYPE PATH 'objeto') x;
Mejorando la consulta
select [Link], [Link], [Link]
from usuario u,
XMLTABLE('/perfil/registro/accion'
passing [Link]
columns accion VARCHAR2(30) PATH 'text()',
objeto XMLTYPE PATH 'objeto') x,
XMLTABLE('/objeto'
passing [Link]
columns objeto VARCHAR2(30) PATH '.') y;
select [Link], [Link], [Link], [Link]
from usuario u,
XMLTABLE('/perfil/registro'
passing [Link]
columns registro VARCHAR2(30) PATH 'text()',
accion XMLTYPE PATH 'accion') z,
XMLTABLE('/accion'
passing [Link]
columns accion VARCHAR2(30) PATH 'text()',
objeto XMLTYPE PATH 'objeto') x,
XMLTABLE('/objeto'
passing [Link]
columns objeto VARCHAR2(30) PATH '.') y;