2011-10-07 57 views
1

我在Oracle DB上有一个PHP应用程序。在数据库中,定义了一些约束条件。当他们受到侵犯时,我收到一条明显的消息。我想向用户显示一些自定义消息。有没有办法在oracle中更改异常消息?

有没有办法在约束定义中定义自定义错误信息?或者你会如何建议我解决这个问题?

谢谢!

+1

你能显示一些代码吗? –

+0

我不想。这个问题需要保持通用。虽然,我可以举一个例子。假设我想在我的学生表中插入一个新条目。对于几个列,我定义了约束条件,如名称必须不为空,姓氏必须为空,年龄必须为正值,等等。当我插入新学生时,其中一个约束可能会被违反,并且我收到一条不太友好的错误消息。这就是为什么我想定义每个约束条件中的错误消息,当违规时我会收到这个错误消息。为了能够显示给用户,使他理解它。 – Tchypp

+2

请参阅http://stackoverflow.com/questions/6068792/is-there-way-to-give-user-friendly-error-message-on-constraint-violation –

回答

0

问自己,为什么你的无效数据到达您的数据库?

为了防止这种情况发生,您应该对您的输入实施强有力的验证,因为约束仅作为最后手段存在,而不是验证数据的第一线。

创建验证例程,用于捕获并回报(带有有用消息)的无效数据,仅发送要插入数据库的有效数据。

这可以使用PL/SQL存储过程/包/功能,使用它们的CRUD操作的好文章做的是在这里: http://www.devshed.com/c/a/Oracle/Developing-Simple-PL-SQL-Stored-Procedures-for-CRUD-Operations/

或者你可能会使用数据库触发器用于此目的,虽然“ BEFORE“操作触发器不如PL/SQL验证包中的批量处理收集数据那样高效。

希望这有助于...

相关问题