tablas anidadas

dudoso
06 de Octubre del 2004
Hola a todos:
Estoy trabajando en Oracle9i y estoy usando tablas anidadas, he conseguido borrar e insertar en los registros de las tablas que tienen tablas anidadas, Necesito saber como inserto registros en el campo X de la tabla Y que es una tabla anidada con los campos X.1 y X.2.
Ejemplo:
tengo los datos siguientes en la tabla Y
1 - (1,2)
2 - (3,4)
quiero adicionarle el par (3,4) al registro con llave 1. Es decir esto
1 - (1,2)(3,4)
2- (3,4)

Necesito su ayuda
Gracias.

diabolik100
06 de Octubre del 2004
Mira lo que tienes que hacer siempre que quieras insertar en una tabla anidada es, primero, realizar una consulta de tu tabla anidada y ya que la tengas, insertar en esa tabla; con este ejemplo espero que me entiendas:

insert into table
(select m.alumnos from materias m
where m.nombre=\'matematicas\')
values(1,\'victor\',\'guitierrez\',12));

Lo que haces es seleccionar el campo alumnos(que es el campo que contiene la tabla anidada) de la tabla materias (referenciada como m) en donde la materia se llame matematicas; el campo que obtienes hay que convertirlo a tabla, es por eso que utilizas la palabra \'table\' antes de la consulta; cuando ya tienes esa tabla, lo unico que tienes que proporcionarle son los valores que quieres insertar. Debes de tener cuidado en que el select interno solo te regrese un solo valor, de lo contrario te marcara un error.

Espero que esto te sirva