Есть ли способ изменить сообщение об исключении в Oracle? - PullRequest
1 голос
/ 08 октября 2011

У меня есть приложение PHP поверх БД Oracle.В базе данных определены некоторые ограничения.Когда они нарушаются, я получаю сообщение constraint violated.Я хотел бы, чтобы пользователь показывал пользовательское сообщение.

Есть ли способ определить в определении ограничения пользовательское сообщение об ошибке?Или как бы вы предложили мне заняться этим вопросом?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 октября 2011

Спросите себя, почему ваши неверные данные попадают в вашу базу данных?

Вы должны внедрить строгую проверку для ваших входных данных, чтобы предотвратить это, поскольку ограничения существуют только в качестве крайней меры, а не на переднем крае проверки данных.

Создание процедур проверки, которые перехватывают и сообщают (с полезным сообщением) неверные данные, отправляя только действительные данные для вставки в вашу базу данных.

Это можно сделать с помощью хранимых процедур / пакетов / функций PL / SQL. Хорошая статья об их использовании для операций CRUD приведена здесь: http://www.devshed.com/c/a/Oracle/Developing-Simple-PL-SQL-Stored-Procedures-for-CRUD-Operations/

В противном случае вы могли бы использовать триггеры базы данных для этой цели, хотя триггеры операций "BEFORE" не так эффективны, как массовые обработки сбора данных в пакете проверки PL / SQL.

Надеюсь, это поможет ...

0 голосов
/ 08 октября 2011

Поймайте исключение и сообщите пользователю, как считаете нужным.

php: перехватить исключение и продолжить выполнение, возможно ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...