Ограниченията са това, което базите данни използват, за да се предпазят от грешни приложения не от потребители.
Това означава, че нарушенията на ограниченията трябва да бъдат уловени от приложението и евентуално изчистени за представяне на потребителя. Бих смятал, че приложение, което не е направило това, е недостатъчно по някакъв начин.
Казвам „евентуално“, тъй като вашето приложение (поне за този случай) никога не би трябвало да види това да се случи. Почти сигурно би трябвало да използва падащ контрол с ограничен избор за нещо подобно. Ако използва комбинирано поле или (шок, ужас) поле за въвеждане на текст в свободен формат, ще трябва да бъде предефинирано.
Това би означавало, че нарушението никога няма да се случи, освен ако, разбира се, приложението и ограничението не излязат от синхрон в даден момент. Но това е нещо, което трябва да бъде уловено при тестване, много преди клиентът изобщо да получи мръсните си ръце върху приложението ви.
За да отговорите на действителния ви въпрос, съобщенията, които излизат от Oracle за нарушения на ограниченията, не могат да бъдат променени. Най-доброто, което можете да направите, е да назовете своите ограничения интелигентно, така че да имат смисъл за крайния потребител.
Но аз все още твърдя, че това представяне на проблеми пред потребителя е отговорност на слоя на приложението, а не на слоя на базата данни.