Sei sulla pagina 1di 6

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 u.id, x.accion, x.objeto.getStringVal()


from usuario u,
XMLTABLE('/perfil/registro/accion'
passing u.perfil
columns accion VARCHAR2(30) PATH 'text()',
objeto XMLTYPE PATH 'objeto') x;
Mejorando la consulta

select u.id, x.accion, y.objeto


from usuario u,
XMLTABLE('/perfil/registro/accion'
passing u.perfil
columns accion VARCHAR2(30) PATH 'text()',
objeto XMLTYPE PATH 'objeto') x,
XMLTABLE('/objeto'
passing x.objeto
columns objeto VARCHAR2(30) PATH '.') y;
select u.id, z.registro, x.accion, y.objeto
from usuario u,
XMLTABLE('/perfil/registro'
passing u.perfil
columns registro VARCHAR2(30) PATH 'text()',
accion XMLTYPE PATH 'accion') z,
XMLTABLE('/accion'
passing z.accion
columns accion VARCHAR2(30) PATH 'text()',
objeto XMLTYPE PATH 'objeto') x,
XMLTABLE('/objeto'
passing x.objeto
columns objeto VARCHAR2(30) PATH '.') y;

Potrebbero piacerti anche