Exercicio Funçoes SQL
Casos: Exercicio Funçoes SQL. Pesquise 862.000+ trabalhos acadêmicosPor: KikoRP • 3/12/2013 • 737 Palavras (3 Páginas) • 536 Visualizações
/*1.Faça uma função que receba 2 números e retorne a divisão dos dois.*/
create function EXE1 (@n1 float, @n2 float)
returns float
begin
return (@n1/@n2)
end
/*2.Faça uma função que receba um código de um cliente e uma porcentagem a ser aumentado no salário do cliente. O retorno deve ser o salário do cliente com o aumento da porcentagem passado como parâmetro.*/
create function EXE2 (@codigo int, @porcentagem decimal(10,2))
returns decimal(10,2)
begin
return (select (Renda_Cli *(@porcentagem/100) + Renda_Cli) as Renda_final from Cliente where Cod_Cli = @codigo)
end
/*3.Faça uma função que receba o código do cliente como parâmetro e retorne a quantidade de emails e a quantidades de telefones que esse cliente possua.*/
create function EXE3 (@codigo int)
returns varchar
begin
return (select count(Num_Fone) from Fone where Cod_cli = @codigo union select count(EMail_Cli) from EMail where Cod_Cli = @codigo)
end
/*4.Faça uma função que você passe como parâmetro o sexo do cliente e receba como retorno a média do salário do sexo digitado.*/
create function EXE4 (@sexo char)
returns decimal(10, 2)
begin
return (select avg(Renda_Cli)as Media from Cliente where Sexo_Cli = @sexo)
end
/*5.Faça uma função que não receba nenhum parâmetro e retorne a média de salário agrupados por sexo.*/
create function EXE5()
returns @rnt TABLE(Media FLOAT, Sexo_Cli CHAR(1))
as
begin
insert into @rnt
select avg(Renda_Cli), Sexo_Cli from Cliente
group by Sexo_Cli
return
end
/*6.Faça uma função que receba como parâmetro o nome do funcionário e ela retorne o nome dos dependentes desse funcionário.*/
create function EXE6(@nome varchar(100))
returns varchar(100)
begin
return (select Dependente.Nome_Dep from Dependente
inner join Funcionario on (Dependente.Cod_Func = Funcionario.Cod_Func) where @nome = Funcionario.Nome_Func )
end
/*7.Faça uma função que receba como parâmetro de entrada o nome do cliente e retorne a somatória dos creditos dele.*/
create function EXE7(@nome varchar(100))
returns float
begin
return (select sum(Credito.Cred_Cli) from Credito
inner join Cliente on (Credito.Cod_Cli = Cliente.Cod_Cli) where @nome = Cliente.Nome_Cli)
end
/*8.Faça uma consulta que receba como parâmetro de entrada o sexo, e retorne a quantidade de funcionários daquele determinado sexo.*/
create function EXE8(@sexo char(1))
returns int
begin
return (select count(Funcionario.Sexo_Func) from Funcionario where @sexo = Funcionario.Sexo_Func)
end
/* 9.Faça uma consulta que a pessoa digite o nome do cliente e a função retorne o nome da esposa ou nulo caso ele não tenha esposa.*/
create function EXE9(@nome varchar(100))
returns varchar
begin
return (select Conjuge.Nome_Conj from Conjuge
inner join Cliente on (Cliente.Cod_Cli = Conjuge. Cod_Cli) where @nome= Cliente.Nome_Cli)
end
/*10.Faça uma consulta que a pessoa digite o nome da cidade e a função retorne o nome dos clientes daquela cidade.*/
create function EXE10(@cidade varchar(50))
returns varchar
begin
return (select Cliente.Nome_Cli from Cliente inner join Endereco on (Cliente.Cod_Cli = Endereco.Cod_Cid)
inner join Cidade on (Cidade.Cod_Cid = Endereco.Cod_Cid) where @cidade = cidade.Nome_Cid)
end
/* 11.Faça uma função que digite o nome do funcionário e a função retorne a somatória dos seus pontos.*/
create function EXE11(@nome varchar(50))
returns decimal (10, 2)
begin
return (select sum(Pontuacao.Pto_Func) from Pontuacao
inner join Funcionario on (Pontuacao.Cod_Func = Funcionario.Cod_Func) where @nome = Funcionario.Nome_Func)
end
...