Oracle plsql捕获异常

Oracle plsql捕获异常,oracle,plsql,Oracle,Plsql,在我将值插入不同表的过程中,每当一个表发生唯一/主键冲突时,我希望专门处理该表的异常。如何捕获不同的重复值异常?查看一些教程,如 您的唯一/主键冲突将是索引上的DUP\u VAL\u异常。当您创建表时,您应该创建一个触发器和一个序列,在插入表之前运行,并捕获:NEW.PRIMAY\u key是否为null,然后从序列中获取它 使用此方法,您将始终避免重复索引 我会避免在其他情况下使用,因为这在真正的错误处理逻辑中没有实际用途。Hmm,但我如何知道它是从哪个表insert抛出的?然后,您可能必须用

在我将值插入不同表的过程中,每当一个表发生唯一/主键冲突时,我希望专门处理该表的异常。如何捕获不同的重复值异常?

查看一些教程,如


您的唯一/主键冲突将是索引上的DUP\u VAL\u异常。

当您创建表时,您应该创建一个触发器和一个序列,在插入表之前运行,并捕获:NEW.PRIMAY\u key是否为null,然后从序列中获取它

使用此方法,您将始终避免重复索引


我会避免在其他情况下使用,因为这在真正的错误处理逻辑中没有实际用途。

Hmm,但我如何知道它是从哪个表insert抛出的?然后,您可能必须用这样的异常块包装每个STANTS,或者您为自己设置一个标记,以便知道最后一次成功插入的表。Hmm,这将用于主键冲突,但我可以以不同的方式处理外键错误吗?这将在最后一部分引发ORA-02291检查。您可以在执行其他操作后获取错误代码。使您的行为依赖于该错误代码。