qual é a sintaxe correta para criar um acionador de banco de dados para inserir, modificar e excluir
Eu tenho o que parece ser um cenário básico para um gatilho de db no servidor SQL e estou correndo em um problema.
eu tenho mesaComercial (id, nome, telefone, etc) e eu tenho tabelasUsuáriosHistória (id, ação user_id, campos, timestamp)
Eu quero um disparador de banco de dados onde a qualquer momento inserções, atualizações ou exclusões em usuários, eu quero um novo registro criado em UsersHistory com o ID de usuário e a ação que foi feito (inserir novos campos atualizados, ID apagado. Basicamente uma tabela de log de auditoria.
isso é o quão longe eu cheguei, mas não consigo descobrir como:
Obter o id em modificar e exclui e tambémComo obter uma lista de campos que foram alterados e a ação que foi confirmada (inserir, excluir, atualizar)CREATE TRIGGER Update_Users_History
ON Users
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
-- Insert statements for trigger here
insert into UsersHistory (user_id, [action], [fields], timestamp)
select max(id) as user_id, {action ??},{fields??} getdate() from Users)
END
GO
alguma sugestão?