0

我需要保持 2 个不同表中的 3 列同步。

微软 SQL 服务器 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 列,并使它们保持最新(插入、删除、更新)。我正在查看触发器,但共识似乎是,如果我一次插入或更新多行,这将无法正确执行。关于如何做到这一点的任何想法?

4

1 回答 1

1

理想情况下,您可以通过将重复的字段移动到另一个表并通过外键引用它们来规范化数据。

然而,触发器也可以用来解决这个问题。看看这里:如何为多行更新编写触发器?

于 2013-10-16T23:11:32.233 回答