我需要在2个不同的表中保持3列同步。
MS SQL Server 2008
create table a(
id int IDENTITY(1,1),
name1 nvarchar(255),
name2 nvarchar(255),
date1 date default null,
date2 date default null,
...
CONSTRAINT pk primary key (id),
CONSTRAINT uniqueNames UNIQUE (name1,name2))
我正在创建另一个表,它将复制第二个表中的前3列,并使它们保持最新(插入,删除,更新)。我正在查看触发器,但似乎共识似乎是如果我一次插入或更新多行,这将无法正确执行。有什么想法如何实现这个目标?
答案 0 :(得分:1)
理想情况下,您可以通过将重复的字段移动到另一个表并通过外键引用它们来规范化数据。
然而,触发器也可用于解决此问题。看看这里:How to write trigger for multiple row update?