none
function RRS feed

  • Discussão Geral

  • estou iniciando meus estudos em sql e não estou conseguindo criar uma function, onde preciso desenvolver as funcionalidades de operações para registrar um lançamento de movimentação em uma conta bancaria de um determinado cliente.

    me ajudem por favor =D

    segunda-feira, 3 de junho de 2019 01:08

Todas as Respostas

  • Deleted
    segunda-feira, 3 de junho de 2019 10:07
  • Luiz, 

    Veja se estes outros exemplos podem te ajudar:

    Create Table Produtos
    (Codigo Int Primary Key,
     Descricao Varchar(10) Not Null)
    Go
    
    Create Table Pedidos
    (Codigo Int Primary key,
     CodProduto Int Not Null,
     Valor Int)
    Go
    
    Insert Into Produtos Values(1,'A'),
                               (2,'B'),
    						               (3,'C')
    
    Insert Into Pedidos Values (1,1,10), 
                               (2,1,20), 
    						               (3,2,30),
    						               (4,2,40),
    						               (5,1,10)
    Go
    
    -- Criando a Função Multi-Statement - F_RetornarProdutosXPedidos --
    Create Function F_RetornarProdutosXPedidos (@CodProduto Int)
     Returns @Resultado Table
     (Codigo int,
      Descricao varchar(10),
      Valor Int)
    As
    Begin
    
      Insert @Resultado
      
      Select Pe.Codigo, Pr.Descricao, Pe.Valor 
      from Pedidos Pe Inner Join Produtos Pr
                       On Pe.CodProduto = Pr.Codigo                                        
      Where Pe.CodProduto = @CodProduto
      
      Return
    
    End
    
    
    -- Execuntando a função F_RetornarProdutosXPedidos --
    Select * from F_RetornarProdutosXPedidos(2) 
    Go
    
    -- Executando a Função F_RetornarProdutosXPedidos em conjunto com Junção --
    Select * from Produtos P Inner Join F_RetornarProdutosXPedidos(1) F
                                                              On P.Codigo = F.Codigo
    Go

    Ou este outro:

    -- Excluindo a tabela Funcionario --
    Drop table Funcionario
    Go
    
    -- Criando a Tabela Funcionario --
    Create Table Funcionario
    (
      Codigo Int IDENTITY  not null,
      Nome Char(10) not null,
      Idade  TinyInt not null,
      Salario Decimal(10,2) null
    )
    Go
    
    -- Inserindo os dados na tabela Funcionarios --
    INSERT Funcionario VALUES('Antonio',34,100)
    INSERT Funcionario VALUES('Bras',34,200)
    INSERT Funcionario VALUES('Carlos',21,200)
    INSERT Funcionario VALUES('Carla',16,200)
    Go
    
    -- Criando a Function F_Salario --
    Create Function F_Salario (@CodFunc int)
    Returns  Decimal(10,2)
    AS
    Begin
    
    	Declare @Salario decimal(10,2), @Idade   Tinyint
    
    	Select @Salario = Salario,
    		       @Idade = Idade
    	From Funcionario
    	Where Codigo = @CodFunc
    
    	IF @Idade <= 30
    	 SET @Salario = @Salario * 1.1 
    	ELSE
    	 SET @Salario = @Salario * 1.2 
       
    	Return @Salario
    
    End
    Go
    
    -- Consultando os dados da Tabela Funcionario --
    Select * FROM Funcionario
    Go
    
    -- Executando a Função F_Salario --
    Select dbo.F_Salario(1)
    Go
    
    -- Criando a Function F_FuncPremio --
    Create Function F_FuncPremio(@CodFunc INT) 
    Returns Decimal(10,2)
    AS
    Begin 
      Declare @ValorSalario Decimal(10,2)
        
      Select @ValorSalario=Salario From Funcionario
      Where Codigo = @CodFunc 
    
    
      Return (@ValorSalario+1000)
    End
    Go
    
    -- Executando 
    Select dbo.F_FuncPremio(2) As 'Valor do Premio....'
    Go
    
    -- Excluir a função atual --
    Drop Function F_FuncPremio
    Go
    
    -- Recriar a função F_FuncPremio --
    Create Function F_FuncPremio(@CodFunc INT) 
    Returns Table
    AS
      Return (Select Salario+1000 As 'Premio' From Funcionario
      Where Codigo = @CodFunc)
    Go
    
    -- Executando novamente a função 
    Select Premio As 'Salario + R$ 1.000' From dbo.F_FuncPremio(2) 
    Go
    
    
    


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    segunda-feira, 3 de junho de 2019 13:07
  • Desenvolver as funcionalidades de operações para registrar um lançamento de movimentação na conta de um determinado cliente, através do uso de uma Função programada. 

    esse é o exercicio, no caso poderia ser um transação de um saque por exemplo..... mas os artigos que mandou ja esta ajudando, estou pegando o jeito 

    terça-feira, 4 de junho de 2019 04:11
  • obrigada Luiz, ajudou bastante!!
    terça-feira, 4 de junho de 2019 04:11