Ich habe eine Tabelle testtable
in der Datenbank erstellt testbase
, die die folgende Struktur hat:
product_no (int, not null)
product_name (varchar(30), not null)
price (money, null)
expire_date (date, null)
expire_time (time(7), null)
Wie schreibe ich jedoch einen Trigger so, dass er die bestimmte Zeile aktualisiert, die geändert wurde (oder mit neuen Informationen aktualisiert wurde), und das Änderungsdatum in das expire_date
Feld und die Änderungszeit in das expire_time
Feld aufzeichnet ? (oder wenn das möglich ist?)
WHERE id = Changed_Row_ID
Antworten:
Es wäre ziemlich einfach, aber ich würde tatsächlich empfehlen, die Logik des Befehls, der die Daten einfügt / aktualisiert, so zu ändern, dass an dieser Stelle die zusätzlichen Informationen hinzugefügt werden.
Wenn Sie jedoch mit einem Auslöser fortfahren möchten, können Sie Folgendes tun:
Dies verwendet die
INSERTED
Tabelle, um herauszufinden, welcheproduct_no
Zeilen geändert / erstellt wurden. Weitere Informationen zu Triggern finden Sie unter dem folgenden Link:http://msdn.microsoft.com/en-us/library/ms189799.aspx
Ich hoffe das hilft dir.
quelle
inserted
. Bedeutet das also, dass es sicher ist, keine eigene Datenbanktabelle mit Namen wieinserted
und zu habendeleted
?