Ejercicio examen
Hola, este es un ejercicio de un examen, he puesto el código pero me da errores:
Si alguien tiene tiempo y ganas de hacer alguna sugerencia o un nuevo código, será bienvenida:
Hacer un paquete con un procedimiento para REALIZAR INSERCIONES EN LA TABLA FIESTAS Y UNA FUNCION QUE OBTENGA EL NOMBRE DE LA PLAZA A INSERTAR DE LA TABLA PLAZAS A TRAVES DE LA LOCALIDAD. En el caso de existir mas de una plaza en la localidad puede ser cualquiera de las plazas. Usar excepciones
Tablas:
Créate table fiestas
Nombre_plaza varchar2(20)
Fecha_fiesta date not null
Clase_fiesta number(1)
Hora_fiesta date
Exp_fiesta varchar2(10)
Primary_key (nombre_plaza, fecha _fiesta)
Foreign_key (nombre plaza
Referencesplazas (nombre_plaza)
On delete cascade);
Créate table plazas(
Nombre_plza varchar2(20) not null
Categoria_plaza number(1)
Aforo number(5)
Localidad_plaza varchar2(15)
Apoderado_plaza varchar2(30)
primary_key (nombre_plaza)
)
El código que yo he hecho es:
create or replace package local_plaza as
procedure insertar(ciudad plazas.localidad_plaza%type,fecha plazas.fecha_fiesta%type, clase plazas.clase_fiesta%type, hora plazas.hora_fiesta%type,experiencia plazas.exp_fiesta%type );
function devolver_localidad (local plazas.localidad_plaza) return varchar2;
end local_plaza;
create or replace package body local_plaza is
function devolver_localidad (local plazas.localidad_plaza) return varchar2 is
nombre plazas.nombre_plaza%type;
begin
select nombre_plaza into nombre
where localidad_plaza=local;
return nombre;
end devolver_localidad;
procedure insertar (ciudad plazas.localidad_plaza%type,fecha plazas.fecha_fiesta%type, clase plazas.clase_fiesta%type, hora plazas.hora_fiesta%type,experiencia plazas.exp_fiesta%type ) is
parametro plazas.localidad_plaza%type;
parametro:=ciudad;
variable varchar2(20);
begin
variable:=devolver_localidad(parametro);
insert into fiestas values(variable,fecha,clase,hora,experiencia);
end insertar;
end local_plaza;
Muchas gracias por vuestra colaboracion, un saludo