TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

SQL - Exercicios de Funcoes Completo

Por:   •  28/9/2015  •  Trabalho acadêmico  •  1.127 Palavras (5 Páginas)  •  1.082 Visualizações

Página 1 de 5

FUNCTIONS

  1. Faça uma função que receba 2 números e retorne a divisão dos dois.

IF OBJECT_ID ('Exer1') IS NOT NULL

    DROP FUNCTION Exer1;

GO

Create function Exer1(@numero1 decimal(10,2), @numero2 decimal(10,2))

returns decimal(10,2)

as

begin 

     return (select @numero1 / @numero2)

end

GO

select dbo.Exer1 (10,3)

  1. 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.

IF OBJECT_ID ('Exer2') IS NOT NULL

    DROP FUNCTION Exer2;

GO

Create function Exer2(@codigo integer, @porcentagem decimal(10,2))

returns decimal(10,2)

as

begin

return (select Renda_Cli=Renda_Cli+Renda_Cli*@porcentagem/100 from cliente where cod_cli = @codigo)

end

GO

select dbo.Exer2(5,10) as NovaRenda

  1. 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.

if OBJECT_ID ('Exer3')is not null

drop function Exer3;

GO

Create function Exer3 (@cod integer)

returns table

as 

return (select 'fone' as tipo, count(cod_cli) as qtd  from Fone where Cod_cli = @cod

union

select 'email', count(cod_cli)  from Email where Cod_cli = @cod)

GO

Select * from dbo.Exer3(1)

  1. 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.

if OBJECT_ID ('Exer4')is not null

drop function Exer4;

GO

Create function Exer4 (@sexo varchar(1))

returns decimal(10,2)

as 

begin

        return (Select avg (Renda_Cli) From Cliente Where Sexo_Cli = @sexo)

end

GO

Select dbo.Exer4('M')

  1. Faça uma função que não receba nenhum parâmetro e retorne a média de salário agrupados por sexo.

if OBJECT_ID ('Exer5')is not null

drop function Exer5;

GO

Create function Exer5()

returns table

as 

return (Select avg (Renda_Cli) as media, Sexo_Cli From Cliente group by sexo_cli)        

GO

Select * from dbo.Exer5()

  1. 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.

if OBJECT_ID ('Exer6')is not null

drop function Exer6;

GO

CREATE FUNCTION Exer6(@nome varchar(50))

Returns table

AS

Return (Select D.Nome_Dep From Funcionario F left join Dependente D on F.Cod_Func = D.Cod_Func Where F.Nome_Func = @nome)

GO

Select * from dbo.Exer6 ('Celso Cesare')

  1. Faça uma função que receba como parâmetro de entrada o nome do cliente e retorne a somatória dos creditos dele.

if OBJECT_ID ('Exer7')is not null

...

Baixar como (para membros premium)  txt (8.8 Kb)   pdf (147.8 Kb)   docx (24.7 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com