我在窗体中有数据表表,该表可跟踪记录级别的更改,插入和删除到审计表。这是我目前的情况。
用户删除多条记录,比如说4条记录。如果前三个很好,可以删除(因为没有违反参照完整性规则),而最后一个有参照完整性错误,则事件的顺序如下:
这正常工作,因为Delete Event将所有4条记录的Audit语句加载到临时表中,然后Error Event删除1条不良行的记录,然后BeforeDelConfirm要求确认,AfterDelConfirm粘贴3组审核记录到“审核”表中。
但是,如果我们假设用户删除了4条记录,前2条是好记录,后2条是参照完整性错误,则事件的顺序如下:删除2条好记录的事件,删除1条事件的事件错误记录,第一个错误记录的错误事件,第二个错误记录的删除事件,BeforeDelConfirm,AfterDelConfirm。
问题是错误事件只对第一个记录没有运行,所以如何捕获记录值以防止其进入“审计”表?
我希望它只能删除能够删除的记录(即没有参照完整性错误),并且我不希望在存在多个错误的情况下阻止所有记录被删除(其中情况下,即使有一个错误,我也可能只会阻止任何删除,这样我的最终用户就没有多余的混乱规则了。)