Criei o seguinte Trigger abaixo para criar uma tabela de log, mas estou recebendo a seguinte mensagem quando tento alterar um registro na tabela de
origem : O(s) valor(es) da linha atualizado(s) ou excluido(s) não tornam a linha exclusiva ou alteram várias linhas (2 linhas). e não permite que eu altere registros na tabela de origem.
Alguem pode me ajuda ?
ALTER
TRIGGER [dbo].[TR_Contas_2012Update]
ON [dbo].[LEITURAS_VALORES_2012]
AFTER
UPDATE
AS
BEGIN
Declare @Usuario_Alterando
as int
Declare
@Tabela_Alterada as
nvarchar(25)
Declare @Registro_Alterado
as nvarchar(10)
Declare @Campo_Alterado
as nvarchar(20)
Declare @Valor_Anterior
as nvarchar(60)
Declare @Valor_Novo
as nvarchar(60)
If Update(LEITURA)
Begin
Set @Tabela_Alterada
= 'LEITURAS_VALORES_2012'
set
@Campo_Alterado =
'LEITURA'
SELECT
@Registro_Alterado=i.INSCRICAO,
@Valor_Anterior=d.LEITURA,
@Valor_Novo=i.LEITURA
FROM
Deleted d
join Inserted i
on i.INSCRICAO
= d.INSCRICAO
INSERT
INTO SEGURANCA
(Usuario,
Datahora,
COD_PROG, Tabela,
TipoMov,
Registro, Campo,
ValAnt,
ValAtu, Motivo)
VALUES
('1',
---SUSER_SNAME(),
GETDATE(),
'1',
@Tabela_Alterada,
'U',
@Registro_Alterado,
@Campo_Alterado,
@Valor_Anterior,
@Valor_Novo,
SUSER_SNAME()
)
end
END