在一个过程中,我将值插入到不同的表中,每当表发生唯一/主键冲突时,我想专门为该表处理异常。如何捕获不同的重复值异常?
答案 0 :(得分:7)
查看一些教程,例如this。
您的唯一/主要密钥违规将是DUP_VAL_ON_INDEX
例外。
答案 1 :(得分:0)
当你创建了你的表时,你应该已经创建了一个TRIGGER和一个SEQUENCE来在你的表上运行Before Insert并捕获:NEW.PRIMAY_KEY是否为null然后从序列中获取它。
使用此方法,您将始终避免使用DUP_VAL_ON_INDEX。
我会避免使用WHEN OTHERS,因为它在真正的错误处理逻辑中没有实际用途。