好的,我相信这个问题并不清楚。在这里,我以其他方式重写了这个。
假设我创建了两个表,
table1(c1 int PRIMARY KEY)
table2(table1c11 int)
和之间有关系table1
,table2
即table1.c1=table2.table1c11
table1
并且,我在and中执行以下语句table2
insert into table1(c1)
values('a'),('b'),('c'),('d'),('e')
insert into table2(table1c11)
values('a'),('a'),('b'),('d')
现在我想要实现的是,一旦我更新了相应数据中c1
的值,就会自动更改。为此,我需要在和关系中创建约束并应用.table1
table2
table1
table2
CASCADE UPDATE
table1
所以,后来我在ie中应用了一个新的 SQL 更新语句
Update table1 set c1=c1+'updated'
然后中的数据table2
也会发生变化,但是如果我想通过 实现相同的功能INSTEAD OF UPDATE TRIGGER
,那么我需要编写而不是更新触发器,并且在其中,我需要使用两个魔术表INSERTED
和DELETED
.
但要点是,在这种情况下,我只有一列存在table1
并且我正在更新同一列,所以我如何映射插入和删除的行。如果我使用 CASCADing,SQL Server 也会做同样的事情。
那么问题来了,如果表中的主键数据发生变化,SQL Server 如何处理批量更新。