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