He creado una tabla testtable
dentro de la base de datos testbase
que tiene la siguiente estructura:
product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
Sin embargo, ¿cómo escribo un activador para que actualice esa fila en particular que ha sido modificada (o actualizada con nueva información) y registre la fecha de modificación en el expire_date
campo y el tiempo de modificación en el expire_time
campo? (o si esto es posible?)
WHERE id = Changed_Row_ID
Respuestas:
Sería bastante fácil, pero en realidad recomendaría cambiar la lógica del comando que está insertando / actualizando los datos para que agregue información adicional en este punto.
Sin embargo, si desea continuar con un disparador, puede hacer algo como esto:
Esto usa la
INSERTED
tabla para averiguarproduct_no
las filas que se han cambiado / creado. Puede encontrar más información sobre los desencadenantes en el siguiente enlace:http://msdn.microsoft.com/en-us/library/ms189799.aspx
Espero que esto te ayude.
fuente
inserted
. Entonces, ¿eso significa que sería seguro no tener su propia tabla de base de datos para tener un nombre comoinserted
ydeleted
?