我正在尝试在 SQL Server 2008 中为tblCustomer
表创建数据库触发器。tblChanges
每次在表中插入、更新或删除时,我都需要它向表中添加新行tblCustomer
。
具体来说,我需要它插入CustomerId (PK)
已更改的内容、已更改的dateTime
内容以及更改的类型(插入、更新、删除)。
到目前为止,我已经有了这些方面的一些东西,但无法弄清楚其余的:
CREATE TRIGGER change_trigger
AFTER INSERT OR UPDATE OR DELETE
ON tblCustomer
DECLARE log_action varchar(30)
BEGIN
IF INSERTING THEN
log_action := 'I';
ELSEIF UPDATING THEN
log_action := 'U';
ELSEIF DELETEING THEN
log_action := 'D';
ELSE
DBMS_OUTPUT.PUT_LINE('undefined');
END IF;
INSERT INTO tblChanges(ChanedPK, ChangedTime, ChangedType)
VALUES ...
我不确定上述任何 SQL 是否正确,因为我还没有尝试运行它,而且我对 SQL 的了解有限。任何帮助完成代码和纠正错误将不胜感激。