ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Trigger [RESOLVIDO]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
flaviowmf
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 8 de Dezembro de 2004
Mensagens: 128

MensagemEnviada: Qua Jun 07, 2017 12:04 pm    Assunto: Trigger [RESOLVIDO] Responder com Citação

Pessoal estou com um problema na Trigger abaixo que não cria pois dá a msg : Mensagem 213, Nível 16, Estado 1, Procedimento trgHistorico_Guia, Linha 23
O nome da coluna ou o número de valores fornecidos não corresponde à definição da tabela.

Já comparei as estruturas e não conseguir achar qual o problema, será que alguém poderia me ajudar, estou deixando passar algo e não estou vendo. O Banco é SQL Server

Código:

CREATE TRIGGER trgHistorico_Guia ON dbo.Guias_Log -- Tabela que a trigger será associada
AFTER UPDATE AS
BEGIN
   
    SET NOCOUNT ON
 
    DECLARE
        @Login VARCHAR(100) = SYSTEM_USER,
        @HostName VARCHAR(100) = HOST_NAME(),
        @Data DATETIME = GETDATE(),
      @ID BIGINT

       SELECT @id = (
                     SELECT D.id
                     FROM    deleted             AS D
                    )       
 
    IF (EXISTS(SELECT * FROM Inserted) AND EXISTS (SELECT * FROM Deleted))
    BEGIN   
        INSERT INTO dbo.Guias_Log
        SELECT @Data, @Login, @HostName, 'UPDATE',  D.ID,
                                       D.Excluido,
                                       D.Plano,
                                       D.Consultorio,
                                       D.Filial,
                                       D.Psicologo,
                                       D.TipoGuia,
                                       D.Data,
                                       D.Hora,
                                       D.Guia,
                                       D.Guia_Principal,
                                       D.Seq,
                                       D.Senha,
                                       D.Validade_Senha,
                                       D.Dt_Autorizacao,
                                       D.Carteira,
                                       D.TpPlano,
                                       D.Validade_Plano,
                                       D.Cartao_Nacional,
                                       D.Paciente,
                                       D.Lote,
                                       D.Lote_Alfa,
                                       D.Dt_Fatura,
                                       D.Valor_Fatura,
                                       D.Usuario,
                                       D.Dt_Excluiu,
                                       D.Usuario_Excluiu,
                                       D.Controle,
                                       D.Usuario_Altera,
                                       D.Data_Altera
      FROM Deleted as D
 
    END
 
END
GO


Abaixo a estrutura da tabela de Log

Código:


[dbo].[Guias_Log](
   [Dt_Atualizacao] [datetime] NULL,
   [Login] [varchar](100) NULL,
   [Hostname] [varchar](100) NULL,
   [Operacao] [varchar](20) NULL,
   [ID] [bigint] NULL,
   [Excluido] [int] NULL,
   [Plano] [bigint] NULL,
   [Consultorio] [bigint] NULL,
   [Filial] [bigint] NULL,
   [Psicologo] [bigint] NULL,
   [Data] [datetime] NULL,
   [Hora] [datetime] NULL,
   [Lote] [int] NULL,
   [Lote_Alfa] [int] NULL,
   [TipoGuia] [char](10) NULL,
   [Guia] [nvarchar](30) NULL,
   [Guia_Principal] [nvarchar](30) NULL,
   [Seq] [int] NULL,
   [Senha] [nvarchar](30) NULL,
   [Validade_Senha] [char](10) NULL,
   [Dt_Autorizacao] [char](10) NULL,
   [Carteira] [nvarchar](50) NULL,
   [TpPlano] [nvarchar](30) NULL,
   [Validade_Plano] [char](10) NULL,
   [Cartao_Nacional] [nvarchar](30) NULL,
   [Paciente] [nvarchar](50) NULL,
   [Dt_Fatura] [datetime] NULL,
   [Faturado] [bit] NULL,
   [Valor_Fatura] [float] NULL,
   [Usuario] [nvarchar](30) NULL,
   [Dt_Excluiu] [datetime] NULL,
   [Usuario_Excluiu] [nvarchar](30) NULL,
   [Controle] [datetime] NULL,
   [Usuario_Altera] [nvarchar](30) NULL,
   [Data_Altera] [datetime] NULL


Editado pela última vez por flaviowmf em Seg Jun 12, 2017 2:03 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Jun 07, 2017 12:18 pm    Assunto: Responder com Citação

Boa tarde,

Como você não declarou o nome das colunas no Insert após o nome da tabela, deve fornecer valores para todas as colunas da tabela na ordem em que elas foram declaradas.
Pelo que vi existem valores que não estão na ordem (ex: TipoGuia, Lote, Lote_Alfa, etc) e aparentemente está faltando fornecer um valor para a coluna Faturado.

Espero que ajude


Editado pela última vez por imex em Seg Dez 04, 2023 11:49 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
flaviowmf
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 8 de Dezembro de 2004
Mensagens: 128

MensagemEnviada: Qua Jun 07, 2017 1:09 pm    Assunto: Responder com Citação

Obrigado, funcionou
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB