我在View1
和Table1
上创建了一个索引视图Table2
,而不是在使用Table1
的{{1}}触发后触发。当我使用此视图而不是触发器和触发器之后,View1
的数据似乎没有改变。但是我想在触发后使用此视图时使用View1
新数据。我该怎么做。应该注意的是,我在使用索引视图时使用View1
提示(当不在with Noexpand
中使用with noexpand
提示操作此索引视图时,例如没有索引视图)。
答案 0 :(得分:3)
在执行基表上的所有触发器后,将更新索引视图。您可以在查询计划中看到它。视图上会有仅一个聚簇索引更新。
但是,您可以在视图上创建INSTEAD OF
触发器,然后在索引视图上进行所有操作。但是,通过可更新视图更新/插入/删除时存在一些限制。您可以阅读here。
请注意,视图仅允许INSTEAD OF
个触发器,而不允许AFTER
。
了解更新索引视图最重要的事情是任何修改(包括UPDATE,INSERT和DELETE语句)都必须仅引用一个基表中的列。