【发布时间】:2011-11-20 10:01:09
【问题描述】:
在我将值插入不同表的过程中,每当表发生唯一/主键冲突时,我都想专门为该表处理异常。如何捕获不同的重复值异常?
【问题讨论】:
在我将值插入不同表的过程中,每当表发生唯一/主键冲突时,我都想专门为该表处理异常。如何捕获不同的重复值异常?
【问题讨论】:
查看一些教程,例如this。
您的唯一/主键违规将是 DUP_VAL_ON_INDEX 异常。
【讨论】:
创建表后,您应该创建一个 TRIGGER 和一个 SEQUENCE 以在插入之前在您的表上运行并捕获 :NEW.PRIMAY_KEY 是否为空,然后从序列中获取它。
使用这种方法,您将始终避免使用 DUP_VAL_ON_INDEX。
我会避免使用 WHEN OTHERS,因为这在真正的错误处理逻辑中没有实际用途。
【讨论】: