 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
flaviowmf Aprendiz

Registrado: Quarta-Feira, 8 de Dezembro de 2004 Mensagens: 128
|
Enviada: Qua Jun 07, 2017 12:04 pm Assunto: Trigger [RESOLVIDO] |
|
|
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 |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jun 07, 2017 12:18 pm Assunto: |
|
|
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 |
|
 |
flaviowmf Aprendiz

Registrado: Quarta-Feira, 8 de Dezembro de 2004 Mensagens: 128
|
Enviada: Qua Jun 07, 2017 1:09 pm Assunto: |
|
|
| Obrigado, funcionou |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|