CREATE TABLE Member ( memberID - PK memberName dateRegistered - one time process ); CREATE TABLE MemberLastChanged ( memberID memberName dateEntered );
如果用户有任何机会更改其成员名称,我需要在历史记录表中跟踪当前更改的成员名称。
例如,当前信息是:
会员编号:5534会员姓名 :james
用户将其更改为:
会员编号:5534会员名称 :标记
到现在为止,“成员”将保留当前值:
5534和标记
和
“ MemberLastChanged”将保持:
5534和詹姆斯
如何使用触发器在T-SQL中实现此目标?
您创建一个UPDATE触发器-触发器可以访问两个逻辑表,这些逻辑表的结构与其在其上定义的表相同:
见这对使用这些逻辑表MDSN文章。
使用此数据,您可以填充历史记录表。
CREATE TRIGGER trg_Member_MemberUpdate ON dbo.Member AFTER UPDATE AS INSERT INTO dbo.MemberLastChanged(memberID, memberName) SELECT d.MemberID, d.MemberName FROM DELETED d