我正在尝试为新表(X)创建一个触发器,该表从现有视图(Y)中提取数据。 (表Y是视图X的复制品)
我知道创建触发器以将数据从视图拉到其自己的基表。
截至目前,我使用insert into语句将数据从Y插入到X.我需要在Y上设置一个触发器,这样Y上的更新/插入也会反映在X上。
这就是我想要做的:
在X上创建触发器TableUpdate
而不是插入,更新为
开始
插入Y.
select * from inserted
结束
这看起来只更新其基表而不是外部表。
当底层(基础)表数据发生更改时,您无法使用触发器检测视图中的数据更改。您需要向表格(例如表A)添加触发器,以形成此视图以捕获数据更改。
INSTEAD OF
触发器。正如@SeanLange所说,您需要考虑优化视图和/或找到不使用它的方法。
我建议你看看Materialised Views作为优化View性能的可能方法。