Oracle - varray en tablas

 
Vista:
Imágen de perfil de Violeta
Val: 5
Ha disminuido 1 puesto en Oracle (en relación al último mes)
Gráfica de Oracle

varray en tablas

Publicado por Violeta (3 intervenciones) el 09/05/2019 13:13:22
Hola.
Tengo que añadir un varray de un objeto creado y con valores a una tabla.
El código que tengo es:
El objeto:
1
2
3
4
5
6
7
8
9
10
CREATE OR REPLACE TYPE Cursos AS OBJECT (
	codigo INTEGER,
	nombre VARCHAR2(20),
	refProfe REF PROFESOR,
	max_Alumn INTEGER,
	fecha_Inic DATE,
	fecha_Fin DATE,
	num_Horas INTEGER,
	MAP MEMBER FUNCTION ordenarCursos RETURN VARCHAR2
);
el varray:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE OR REPLACE TYPE  "LISTACURSOS1" AS VARRAY(7) OF CURSOS;
DECLARE
	listaCursos1 LISTACURSOS:= LISTACURSOS();
	P1 REF Profesor;
	P2 REF Profesor;
BEGIN
	SELECT REF(P) INTO P1
	FROM Profesorado P WHERE P.codigo=3;
	SELECT REF(P) INTO P2
	FROM Profesorado P
	WHERE P.dni='51083099F';
	listaCursos1.EXTEND;
	listaCursos1(1):= NEW Cursos(1, 'curso 1', P1,20, '06/01/2011', '06/30/2011', 30);
	listaCursos1.EXTEND;
	listaCursos1(2):= NEW Cursos(2, 'curso 2', P2,20, '06/01/2011', '06/30/2011', 30);
END;

Y a continuación tengo que hacer un insert:
1
2
INSERT INTO ALUMNADO VALUES (100, '76401092Z', 'MANUEL', 'SUAREZ IBAÑEZ',
'M', '6/30/1990',aquí vendría el array);

Al no ser un array simple, con la referencia listaCursos1(i) no me salen los elementos. Aún estoy averiguando cómo va esto de los arrays, así que cualquier ayuda será de agradecer.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder