我在SQL Server 2005中创建了一个触发器,我需要一些帮助。我在SQL Server 2005中有一个数据库(ZKAccess
)。
这些数据库具有不同的表名。
我希望表PersonalInfo
(列:Reg,Name,Rank,Address)用户数据更新到表USERINFO
(列:名称,姓氏,地址,城市)中是相同的。
如何创建触发器,以便每次在数据库中插入/更新/删除时都会自动更新。
这可能吗?你能提供一些例子吗?
答案 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]
插入内容类似。对于删除,我建议使用带有级联删除的外键,但你当然也可以使用触发器。