Criei uma tabela testtable
dentro do banco de dados testbase
que possui a seguinte estrutura:
product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
No entanto, como escrevo um gatilho para atualizar a linha específica que foi modificada (ou atualizada com novas informações) e registrar a data da modificação no expire_date
campo e a hora da modificação no expire_time
campo? (ou se isso for possível?)
WHERE id = Changed_Row_ID
Respostas:
Seria bastante fácil, mas eu recomendaria alterar a lógica do comando que está inserindo / atualizando os dados, para que ele adicione as informações adicionais neste momento.
No entanto, se você desejar prosseguir com um gatilho, poderá fazer algo assim:
Isso usa a
INSERTED
tabela para descobrirproduct_no
as linhas que foram alteradas / criadas. Você pode descobrir mais sobre gatilhos no link abaixo:http://msdn.microsoft.com/en-us/library/ms189799.aspx
Espero que isso ajude você.
fonte
inserted
. Então, isso significa que seria seguro não ter sua própria tabela de banco de dados com nomes comoinserted
edeleted
?