Trigger quer retorne todos os dados

SQL Server

11/10/2019

Olá Pessoal,

Preciso fazer uma trigger, que toda vez que eu alterar ou inserir um dado da tabela, ela traga todos os dados (inclusive os que não sofreram alteração).
Esse dados iriam para tabela histórico. Isso é possível?

Trigger que tenho hoje, só me retorna o dado alterado ou inserido.

 FOR UPDATE, INSERT 
  AS 
	BEGIN 
		SET NOCOUNT ON

		INSERT INTO tb_historico  (id_beneficio, habitantes, ano, dh_update)
			SELECT id_beneficio, habitantes, ano,  GETDATE()
			FROM INSERTED
			END

Laura

Laura

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

11/10/2019

basta alterar a tabela tb_historico para comportar os demais campos e trocar a instrução:
      INSERT INTO tb_historico  (id_beneficio, habitantes, ano, dh_update, camponovo1, camponovo2, camponovo3 )
           SELECT id_beneficio, habitantes, ano,  GETDATE(), campo1, campo2, campo3
           FROM INSERTED
           END
GOSTEI 0
Laura

Laura

11/10/2019

basta alterar a tabela tb_historico para comportar os demais campos e trocar a instrução:
      INSERT INTO tb_historico  (id_beneficio, habitantes, ano, dh_update, camponovo1, camponovo2, camponovo3 )
           SELECT id_beneficio, habitantes, ano,  GETDATE(), campo1, campo2, campo3
           FROM INSERTED
           END




Acho que minha pergunta ficou confusa.

a minha tabela tem apenas esses campos, mencionado na trigger. Nelas tem os seguintes dados:

1 10000 2019
2 20000 2019
3 30000 2019


Alterei a primeira linha

1 12000 2019
2 20000 2019
3 30000 2019


preciso que a trigger me retorne o seguinte:

1 12000 2019
2 20000 2019
3 30000 2019


Hoje o retorno dela seria apenas o dado alterado.

1 12000 2019

GOSTEI 0
POSTAR