Função 1:
CREATE DEFINER=`root`@`localhost` FUNCTION `retorne_sindico`(matricula int) RETURNS varchar(50) CHARSET latin1
BEGIN
declare nome varchar(50);
set nome = (select s.nome
from sindico s
where s.matricula = matricula);
RETURN nome;
END
Select 1:
select c.nome, c.endereco, (select retorne_sindico(c.matricula_sind)) as nomeSindico
from condominio c
Função 2:
CREATE DEFINER=`root`@`localhost` FUNCTION `taxa_condominio`(numero_apartamento varchar(50), porcetual double) RETURNS double(10,2)
BEGIN
declare taxa double (10,2);
set taxa = (select a.valor from apartamento a where a.numero = numero_apartamento);
set taxa = (porcetual / 100) * taxa;
RETURN taxa;
END
Select 2:
select a.numero, a.valor, (select taxa_condominio(a.numero, 10)) as taxa
from apartamento a
where a.codigo_cond = 1