Oracle plsql捕获异常

时间:2011-11-20 10:01:10

标签: oracle plsql

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

2 个答案:

答案 0 :(得分:7)

查看一些教程,例如this

您的唯一/主要密钥违规将是DUP_VAL_ON_INDEX例外。

答案 1 :(得分:0)

当你创建了你的表时,你应该已经创建了一个TRIGGER和一个SEQUENCE来在你的表上运行Before Insert并捕获:NEW.PRIMAY_KEY是否为null然后从序列中获取它。

使用此方法,您将始终避免使用DUP_VAL_ON_INDEX。

我会避免使用WHEN OTHERS,因为它在真正的错误处理逻辑中没有实际用途。