View1我在and 上创建了一个索引视图,Table1并且Table2在Table1使用View1. View1当我在而不是触发器和触发器之后使用此视图时,数据似乎没有改变。但是我想View1在触发器后使用这个视图时使用新数据。我该怎么做。需要注意的是,我with Noexpand在使用索引视图时使用了提示(当在此索引视图中不使用with noexpand提示时,SQL Server 2008 R2例如没有索引视图)。
1972 次
1 回答
3
索引视图在基表上的所有触发器都执行后更新。您可以在查询计划中看到这一点。视图上只有一个聚集索引更新。
但是,您可以INSTEAD OF在视图上创建触发器,然后在索引视图上进行所有操作。但是,通过可更新视图更新/插入/删除时存在一些限制。您可以在此处阅读有关它们的信息。
请注意,视图只允许INSTEAD OF触发器,不允许触发器AFTER。
关于更新索引视图,最重要的一点是任何修改,包括 UPDATE、INSERT 和 DELETE 语句,都必须仅引用一个基表中的列。
于 2012-06-30T07:19:48.360 回答