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:
el varray:
Y a continuación tengo que hacer un insert:
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.
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
);
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


0