繁体   English   中英

sql server中的触发器的魔术表

[英]magic tables of triggers in sql server

触发器的魔术表是自己清空还是必须明确清空? 当我们将数据插入具有触发器的表中时,数据首先进入插入的魔术表,然后进入实际表。 但是之后插入的魔术表会保留它的数据还是丢失它?

来自使用插入和删除的表

SQL Server自动创建和管理这些表。

我假设您是在谈论触发器上下文中存在的INSERTED,DELETED记录? 您为什么要假定它们不是临时的,因为它们不能在触发器范围之外访问。

我在书中找到答案:

触发器完成后,将从相关逻辑表中删除该表的数据。

逻辑表保存在TEMPDB临时数据库中,因此触发器将影响tempdb的性能,并且将受到使用tempdb的任何其他进程的影响。

无法对这些逻辑表(例如Create和INDEX)完成任何进一步的处理,因为它们保存在版本存储中 ,并且只能通过SELECT语句查询并且不能修改数据。

我们只能在触发器中访问这些表,以找出已插入,更新或删除了哪些记录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM