Trigger pra campos não atualizados

20/03/2006

0

Amigos, tenho um cadastro de produtos, e após rodar um update, alguns itens não têm seu valor atualizado. Gostaria de saber a maneira mais fácil de fazer um trigger, ou gerar uma tabela temporária que me dê os produtos que não foram alterados (Também pode ser os que foram alterados) para que eu possa identificá-los.
Abraços.
Christiano


Chriskaka

Chriskaka

Responder

Posts

09/04/2006

Wagnerbianchi

Olá Chris,

Bom, vamos primeiro aos conceitos que estão implicitos em operações como INSERT, DELET e UPDATE.

Quando um registro é alcançado pela instrução DELETE, apenas é apagado do banco a sua referência, pois a engine do SGBD trata isso de forma que se você fizer uma consulta à tabela DELETED (temporária, só permanece na memória até o fim da conexão atual), conseguirá visualizar os elementos/tuplas/registros afetados com o comando.

Assim, da mesma forma, acontece com o INSERT, que é armazenado em uma tabela temporária chamda INSERTED.

Já a instrução UPDATE é diferente, pois este comando é na verdade um DELETE seguido por um INSERT. Quando há um update, os elementos antes da declaração serão guardados na tabela temporária DELETED e os novos valores serão colocados na tabela INSERTED.

No seu caso, querendo saber quais valores foram realmente atualizados, faça uma contagem, após atualizar, dos registros que foram atualizados pegando os dados na tabela temporária INSERTED:

 SELECT * FROM INSERTED 


QQ coisa, poste!!

DEUS Abençõe...[/code]


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar