Trigger after update com Insert

SQL Server

SQL

04/07/2018

Boa tarde Pessoal, tudo bom?
Estou precisando fazer uma trigger after (?) update e ação é um INSERT em outra tabela, mas os dados a serem inseridos devem ser os antigos, como se fosse uma auditoria de alteração.
Alguem consegue me dar um caminho de como fazer dessa maneira?
segue abaixo script que estou criando mas não está funcionando.


CREATE TRIGGER
UPD_ABONO
ON SPC020
FOR UPDATE
AS
BEGIN
INSERT INTO SPCAUDIT
VALUES(PC_MAT,PC_DATA,PC_ABONO,PC_QTABONO)
END
GO


##TABELA SPCAUDIT
Paulo Estraich

Paulo Estraich

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

05/07/2018

Segue um exemplo:

CREATE TRIGGER UPD_ABONO
ON SPC020
AFTER UPDATE AS
      INSERT INTO SPCAUDIT (MATRICULA, DATA, MOT_ABONO, QUANT_ABONO)
      SELECT PC_MAT, PC_DATA, PC_ABONO, PC_QTABONO
      FROM INSERTED;
GO


Poderia ser criada uma tabela de auditoria "genérica", que comportaria todas as alterações, independente da tabela origem.

P.S.: Você utiliza TOTVS Protheus?
GOSTEI 2

Mais Respostas

Paulo Estraich

Paulo Estraich

04/07/2018


CREATE TABLE [SPCAUDIT] (
ID int NOT NULL,
MATRICULA varchar(6) NOT NULL,
DATA varchar(8) NOT NULL,
MOT_ABONO varchar(4) NOT NULL,
QUANT_ABONO float NOT NULL,
CONSTRAINT [PK_SPCAUDIT] PRIMARY KEY CLUSTERED
(
[ID] ASC
) WITH (IGNORE_DUP_KEY = OFF)

)
GOSTEI 0
Paulo Estraich

Paulo Estraich

04/07/2018

Obrigado Emerson.
Sim, utilizo.
GOSTEI 0
POSTAR