我想通过触发器将表列更新为另一个表中的相同更新

时间:2017-02-19 20:56:31

标签: c# sql-server

我在SQL Server 2005中创建了一个触发器,我需要一些帮助。我在SQL Server 2005中有一个数据库(ZKAccess)。

这些数据库具有不同的表名。

我希望表PersonalInfo(列:Reg,Name,Rank,Address)用户数据更新到表USERINFO(列:名称,姓氏,地址,城市)中是相同的。

如何创建触发器,以便每次在数据库中插入/更新/删除时都会自动更新。

这可能吗?你能提供一些例子吗?

1 个答案:

答案 0 :(得分:0)

作为一个简单的例子,这会将您的更新从PersonalInfo同步到USERINFO(我不确定您希望这种方式工作的方式,所以我选择了一个):

CREATE TRIGGER [TR_PersonalInfo_SyncUpdateFields]  
ON [PersonalInfo] 
FOR UPDATE 
AS
    UPDATE [USERINFO] 
    SET [Name] = inserted.[NAME], 
        [Lastname] = inserted.[Lastname], 
        [Address] = inserted.[Address], 
        [City] = inserted.[City]
    FROM 
        [USERINFO] 
    INNER JOIN 
        inserted ON [USERINFO].[KeyToPersonalInfoField] = inserted.[KeyToPersonalInfoField]

插入内容类似。对于删除,我建议使用带有级联删除的外键,但你当然也可以使用触发器。