Subrprograma PL/SQL
Buenas noches, soy estudiante de un ciclo de Informática y necesito resolver una tarea en la que estoy totalmente perdido. Pongo aqui el enunciado, si alguien es tan amable de echarme una mano, que me lo diga y le paso las tablas necesarias.
Muchisimas gracias de antemano.
Queremos crear un subprograma que mueva una familia origen a otra de destino, de la que pasará a ser hija.
o Se debe comprobar que la familia destino no es hija de la familia origen. Para ello debemos crear una función recursiva auxiliar que haga dicha comprobación.
o También comprobaremos que tanto la familia origen, como la familia destino existen (el subprograma aceptará como parámetros los identificadores de ambas familias).
o Para hacer las comprobaciones de si ambas familias existen se deberá utilizar un único cursor variable.
o Además si la familia origen pertenecía a una oficina deberá dejar de pertenecer a esa oficina y sólo ser hija de la familia destino.
o El subprograma deberá lanzar todos los errores que se puedan producir en su ejecución mediante errores que identifiquen con un mensaje adecuado por qué se ha producido dicho error.
Muchisimas gracias de antemano.
Queremos crear un subprograma que mueva una familia origen a otra de destino, de la que pasará a ser hija.
o Se debe comprobar que la familia destino no es hija de la familia origen. Para ello debemos crear una función recursiva auxiliar que haga dicha comprobación.
o También comprobaremos que tanto la familia origen, como la familia destino existen (el subprograma aceptará como parámetros los identificadores de ambas familias).
o Para hacer las comprobaciones de si ambas familias existen se deberá utilizar un único cursor variable.
o Además si la familia origen pertenecía a una oficina deberá dejar de pertenecer a esa oficina y sólo ser hija de la familia destino.
o El subprograma deberá lanzar todos los errores que se puedan producir en su ejecución mediante errores que identifiquen con un mensaje adecuado por qué se ha producido dicho error.
Aqui dejo tambien los valore de la tabla familias para dar mas informacion:
Tablas familia (identifiacador, nombre, familia, oficina)
insert into familias values (11, 'Madrid-1', NULL, 1);
insert into familias values (111, 'Madrid-1.1', 11, NULL);
insert into familias values (112, 'Madrid-1.2', 11, NULL);
insert into familias values (1121, 'Madrid-1.2.1', 112, NULL);
insert into familias values (1122, 'Madrid-1.2.2', 112, NULL);
insert into familias values (1123, 'Madrid-1.2.3', 112, NULL);
insert into familias values (21, 'Granada-1', NULL, 2);
insert into familias values (211, 'Granada-1.1', 21, NULL);
insert into familias values (212, 'Granada-1.2', 21, NULL);
insert into familias values (213, 'Granada-1.3', 21, NULL);
insert into familias values (31, 'Jaén-1', NULL, 3);
Tablas familia (identifiacador, nombre, familia, oficina)
insert into familias values (11, 'Madrid-1', NULL, 1);
insert into familias values (111, 'Madrid-1.1', 11, NULL);
insert into familias values (112, 'Madrid-1.2', 11, NULL);
insert into familias values (1121, 'Madrid-1.2.1', 112, NULL);
insert into familias values (1122, 'Madrid-1.2.2', 112, NULL);
insert into familias values (1123, 'Madrid-1.2.3', 112, NULL);
insert into familias values (21, 'Granada-1', NULL, 2);
insert into familias values (211, 'Granada-1.1', 21, NULL);
insert into familias values (212, 'Granada-1.2', 21, NULL);
insert into familias values (213, 'Granada-1.3', 21, NULL);
insert into familias values (31, 'Jaén-1', NULL, 3);