如何创建和 Oracle 触发器以返回一些数据库错误代码,不是自定义异常,而是真正的数据库错误



我想知道是否可以从触发器返回DB ERROR代码,而不是使用RAISE_APPLICATION_ERROR创建的自定义异常。我有一些要求,我需要为唯一约束返回一个数据库错误代码,例如 1。我问这个问题是有目的的,因为出于某种原因,对于某些基于哈希的分区,我们不会在表上创建唯一的约束,而是有一个三角符,我想在检查记录是否存在后返回 Unique 约束作为错误代码数据库。

您可以使用:

RAISE DUP_VAL_ON_INDEX;

只有在这种情况下,您才能将任何参数传递给此错误,您将获得:

ORA-00001:违反唯一约束 (.)

最新更新