Я создал таблицу testtable
внутри базы данных, testbase
которая имеет следующую структуру:
product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
Однако как мне написать триггер так, чтобы он обновлял эту конкретную строку, которая была изменена (или обновлена с новой информацией), и записывал дату модификации в expire_date
поле и время модификации в expire_time
поле? (или если это возможно?)
WHERE id = Changed_Row_ID
Ответы:
Это было бы довольно просто, но я бы порекомендовал изменить логику команды, которая вставляет / обновляет данные, чтобы она добавила дополнительную информацию на этом этапе.
Однако, если вы хотите использовать триггер, вы можете сделать что-то вроде этого:
Это использует
INSERTED
таблицу, чтобы узнать, какиеproduct_no
строки были изменены / созданы. Вы можете узнать больше о триггерах по ссылке ниже:http://msdn.microsoft.com/en-us/library/ms189799.aspx
Я надеюсь, это поможет вам.
источник
inserted
. Значит ли это, что было бы безопасно не иметь свою собственную таблицу базы данных с такими именами, какinserted
иdeleted
?