工作流和文档事件触发器的事务性
事件触发器操作按以下顺序发生:
事务发生并提交后,事件前触发器将运行。
运行事件前触发器,然后对数据库进行任何修改。如果事件前触发器发生错误 (或触发器否决),则不会对数据库进行任何更改,事务会回滚,数据库会恢复原始状态。所有脚本、触发器和分配都将停止。
对数据库进行更改,然后提交。
当所有数据都提交到磁盘后,事件后触发器开始运行。
其他项只能通过运行一系列事件前触发器来修改。当服务器启动某个事务时,服务器按以下顺序运行:事务、事件前触发器链、提交事务、事件后触发器链。
* 
安排的触发器链与基于规则的更改触发器链分开运行。有关基于规则的触发器的详细信息,请参阅创建基于规则的更改触发器
如果事件前触发器尝试修改另一个项或创建另一个项,则次级项会添加到项列表中,成为当前事务的一部分。
对所有项所做的修改要么全部成功,要么全部失败。这表示次级项的任何事件前触发器也必须运行,并且遵循与主要项运行的触发器相同的规则。
要确保事件前触发器不会多次运行,待事件前触发器完成后,不允许其他次级触发器再次获取该项。
事件触发器所做的所有更改都会绕过服务器权限检查。虽然历史记录中的所有更改将记录为由用户执行,但触发器不需要遵循该最终用户的权限。
这对您有帮助吗?