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 回答