在Firebird中静默丢弃新记录

时间:2011-04-30 22:44:21

标签: exception-handling triggers firebird

某个应用程序,我没有影响,将在我的Firebird数据库中的各种表中添加数千条记录,这是一次性事件。我需要根据具体标准拦截其中的一些。

根据Firebird常见问题解答,我需要添加一个触发器,在插入之前检查每个记录,如果符合条件则抛出异常。但是,我不能在此应用程序中抛出异常,因为它会中止整个过程 - 在第一个异常之后,根本不会添加任何记录。

这意味着我需要一种方法让Firebird在插入时以静默方式丢弃标准匹配记录。然而,我发现异常处理程序无法做到这一点。建议请。

编辑:我得出的结论是,执行此操作的最佳方法可能是插入记录,然后通过插入后触发器删除。在那种情况下,我正在寻找触发器响应插入特定记录的方法,选择此记录并仅删除它。所有表都有一个主键,但我需要删除的记录,只需因为它们与它不兼容。例如,值不为NULL。我不想将这些值转换为有效值,因此我可以插入记录然后选择并删除,因为我不能保证没有记录包含这些值,我希望保留这些记录。

0 个答案:

没有答案