Práctica 5 del tema 6/7. Se utiliza el script primeros_pasos.
Ejercicio 23: Función que comprueba si existe un departamento
Devuelve 1 si existe el número de departamento pasado como argumento, 0 en caso contrario:
delimiter $$
drop function if exists veintitres $$
create function veintitres(dep int)
returns int
reads sql data
begin
if dep in (select numde from departamentos) then
return 1;
else
return 0;
end if;
end $$
delimiter ;
Ejercicio 24: Función que suma salarios de un departamento
Retorna la suma total de salarios de los empleados del departamento indicado. Devuelve -1 si el departamento no existe, usando la función del ejercicio anterior:
delimiter $$
drop function if exists veinticuatro $$
create function veinticuatro(dep int)
returns int
reads sql data
begin
declare salarios int;
if veintitres(dep) = 0 then
set salarios = -1;
else
select sum(salario)
into salarios
from empleados
where numde = dep;
end if;
return salarios;
end $$
delimiter ;