No es un bug, es una característica no documentada

domingo, 29 de marzo de 2015

Bases de datos. SQL programado (X). Ejercicios (V)

1:49 Posted by Inazio , No comments
Ejercicios de la hoja 5 de los temas 6/7. Para su realización se ha usado el script primeros_pasos (puedes decargarlo aquí)

Ejercicio 23. Desarrollar una función que devuelva un 1 si el número de departamento que se le pasa como argumento existe y devuelva 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. Desarrollar una función que devuelva la suma total de salarios de los empleados del número de departamento que se le pasa como argumento.  Si el Departamento no existe devolverá -1. Utiliza una llamada a la función del ejercicio anterior dentro del código.

delimiter $$
drop function if exists veintitres $$
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 ;

0 comentarios:

Publicar un comentario