我在Oracle DB上有一个PHP应用程序。在数据库中,定义了一些约束。当他们受到侵犯时,我会得到一条简单的constraint violated
消息。我想向用户显示一些自定义消息。
有没有办法在约束的定义中定义自定义错误消息?或者你会如何建议我解决这个问题?
谢谢!
答案 0 :(得分:0)
抓住异常并告知用户您觉得合适。
php: catch exception and continue execution, is it possible?
答案 1 :(得分:0)
问问自己无效数据为何会到达您的数据库?
您应该对输入实施强有力的验证以防止这种情况发生,因为约束仅作为最后的手段,而不是验证数据的前线。
创建验证例程,捕获并报告(使用有用的消息)无效数据,仅发送要插入数据库的有效数据。
这可以使用PL / SQL存储过程/包/函数来完成,关于将它们用于CRUD操作的好文章在这里: http://www.devshed.com/c/a/Oracle/Developing-Simple-PL-SQL-Stored-Procedures-for-CRUD-Operations/
或者您可能会为此目的使用数据库触发器,但“BEFORE”操作触发器不如PL / SQL验证包中的批量处理集合数据那样高效。
希望这会有所帮助......