none
Erro Must declare the scalar variable RRS feed

  • Pergunta

  • erro Must declare the scalar variable, não estou conseguindo encontra e resolver o erro.

    ALTER PROCEDURE [dbo].[ConsultarFuncionario]

    @IdFuncionario int
    @Nome  varchar
    @Cargo varchar 


     as
     begin
    SELECT 
    Nome,
    Cargo,
    IdFuncionario

     FROM 
     Funcionario

     WHERE


     IdFuncionario = @IdFuncionario

     Nome = @Nome

     Cargo = @Cargo 

     end 

    (esses são os erros encontrados)

    Msg 102, Level 15, State 1, Procedure ConsultarFuncionario, Line 7
    Incorrect syntax near '@Nome'.
    Msg 137, Level 15, State 2, Procedure ConsultarFuncionario, Line 24
    Must declare the scalar variable "@IdFuncionario".

     
    quinta-feira, 14 de junho de 2018 16:41

Respostas

  • Boa tarde Taipi,

    Vi duas coisas erradas:

    A primeira é que está faltando as virgulas entre as declarações dos parâmetros do procedimento. A segunda é que está faltando os operadores lógicos entre as condições da clausula where.

    Corrigindo isso ficaria algo assim

    ALTER PROCEDURE [dbo].[ConsultarFuncionario]
    
    @IdFuncionario int, --Acrescentado vírgula
    @Nome  varchar, --Acrescentado vírgula
    @Cargo varchar 
    
    
     as
     begin
    SELECT 
    Nome,
    Cargo,
    IdFuncionario
    
     FROM 
     Funcionario
    
     WHERE
    
    
     IdFuncionario = @IdFuncionario
     --AND (Acrescentado o operador AND ou OR)
     Nome = @Nome
     --AND(Acrescentado o operador AND ou OR)
     Cargo = @Cargo 
    
     end 


    quinta-feira, 14 de junho de 2018 16:58