我有2个表,表A
和表B
。我在A
上有一个触发器,输入是表B
的列。那么,当我更新表A
时会发生什么:表B
也会被更新吗?
如果我也想更新表B
,该怎么办?
答案 0 :(得分:2)
完全基于您的示例(如果我理解正确),这听起来像是您在UPDATE级联上指定的外键关系。
一些示例代码:
ALTER TABLE [dbo].[Foo] WITH CHECK ADD CONSTRAINT [FK_FooBar] FOREIGN KEY([BarID])
REFERENCES [dbo].[Bar] ([BarID])
ON UPDATE CASCADE
在dbo中对BarID进行编辑。Foo表也迭代到dbo.Bar中引用的BarID字段
但是,如果我们使用触发器,则无法从触发器内部显式触发触发器。但是,您可以通过满足触发器条件来执行使触发器触发的操作。并且,如果将服务器选项设置为默认(默认为true)以允许触发器激活其他触发器,则将执行辅助触发器。
请注意,该选项仅适用于AFTER触发器,最多可以“链接” /嵌套32次。而不是INSTEAD OF触发器。
Msdn文章: