none
Erro em procedure RRS feed

  • Pergunta

  • Prezados bom dia,

    Tenho a seguinte procedure

    /****** Object:  StoredProcedure [dbo].[sp_Multas_Veiculos_inc]    Script Date: 04/16/2018 16:40:11 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    ALTER PROCEDURE [dbo].[sp_Multas_Veiculos_inc]
    				( @dt_multa		varchar(10)	 
    				 ,@hr_multa		varchar(10)	 
    				 ,@num_infracao	varchar(10)
    				 ,@cod_infracao	varchar(10) 
    				 ,@descricao	varchar(100)
    				 ,@dt_venc		varchar(10) 
    				 ,@dt_pagto		varchar(10)
    				 ,@vlr_pagto	varchar(10)
    				 ,@transferido	int
    				 ,@ressarcido	int 
    				 ,@obs_multa	varchar(200)  
    				 ,@operador     int
    				 ,@id_motorista int
    				 ,@id_veiculo	int  
    				 ,@id_multa		int
    				 ,@tipo_notificacao varchar(10)
    				 ,@num_notificacao int
    				 ,@local_multa varchar(255)	
    				 )		
          			  
    WITH RECOMPILE
    AS
    SET NOCOUNT ON
    
    -- Abre transação
    BEGIN TRANSACTION
    
    INSERT INTO Multas_Veiculos
    			(Id_veiculo
    			,Id_motorista
    			,Dt_multa
    			,Hr_multa
    			,Num_Infracao
    			,Cod_Infracao
    			,Descricao_Infracao
    			,Dt_Venc
    			,Dt_Pagto
    			,Vlr_Pagto
    			,Transferido
    			,Ressarcido
    			,Obs_Multa
    			,Dt_Inclusao
    			,Tipo_Notificacao --Esta linha
    			,Num_Notificacao
    			,Local_Multa
    			,Operador
    			)
    	VALUES (@id_veiculo
    			,@id_motorista
    			,@dt_multa
    			,ISNULL(@hr_multa,'')
    			,@num_infracao
    			,ISNULL(@cod_infracao,'')
    			,ISNULL(@descricao,'')
    			,ISNULL(@dt_venc,'')
    			,ISNULL(@dt_pagto,'')
    			,ISNULL(@vlr_pagto,'')
    			,ISNULL(@transferido,'')
    			,ISNULL(@ressarcido,'')
    			,ISNULL(@obs_multa,'')
    			,GETDATE()
    			,@tipo_notificacao
    			,@num_notificacao
    			,@local_multa
    			,@operador
    			)			
    		
    IF @@ERROR <> 0 
    BEGIN
    		ROLLBACK TRANSACTION
    		RAISERROR ('Problemas na inserção da Multa!', 16, 1)
    		GOTO FINAL_ERRO
    END  
         
    SET @id_multa = @@IDENTITY
         
    GOTO FINAL_SP
    
    FINAL_ERRO:
      ROLLBACK TRANSACTION
      GOTO FINAL
    
    FINAL_SP:
      COMMIT TRANSACTION
    
    FINAL:
      SET NOCOUNT OFF		 


    Sendo que está exibindo o erro: 

    Mensagem 102, Nível 15, Estado 1, Linha 1
    Sintaxe incorreta próxima a ','.

    Quando dou 2 cliques na mensagem de erro, ele leva para a linha que está em negrito .

    Alguem tem alguma ideia ?


    Fabio Aragao

    terça-feira, 17 de abril de 2018 13:46

Respostas

  • Olá, geralmente quando a mensagem de erro te leva a linha que ele diz estar errado, ás vezes é o trecho anterior a linha selecionada que está o erro, no seu caso eu reparei em 2 coisas:
    1. o erro pode estar na data inclusão, onde o formato da data não está como o esperado pelo banco, geralmente os formatos mais comuns são "yyyy-MM-dd" ou "dd/MM/yyyy".

    Veja se funciona, qualquer coisa mande o script do create table MULTAS-VEICULOS para fazermos uma simulação.

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    • Marcado como Resposta Fabio Aragao terça-feira, 17 de abril de 2018 14:37
    terça-feira, 17 de abril de 2018 14:12

Todas as Respostas

  • Olá, geralmente quando a mensagem de erro te leva a linha que ele diz estar errado, ás vezes é o trecho anterior a linha selecionada que está o erro, no seu caso eu reparei em 2 coisas:
    1. o erro pode estar na data inclusão, onde o formato da data não está como o esperado pelo banco, geralmente os formatos mais comuns são "yyyy-MM-dd" ou "dd/MM/yyyy".

    Veja se funciona, qualquer coisa mande o script do create table MULTAS-VEICULOS para fazermos uma simulação.

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    • Marcado como Resposta Fabio Aragao terça-feira, 17 de abril de 2018 14:37
    terça-feira, 17 de abril de 2018 14:12
  • leandro obrigado por responder..

    Já achamos o erro aqui, eu coloquei o campo com varchar(10) so que não percebi que o campo receberia quase 20 caracteres ao todo, foi erro meu.


    Fabio Aragao

    terça-feira, 17 de abril de 2018 14:37