Ograniczenia są wykorzystywane przez bazy danych do ochrony przed błędnymi aplikacjami nie od użytkowników.
Oznacza to, że naruszenia ograniczeń powinny być rejestrowane przez aplikację i ewentualnie oczyszczone do prezentacji użytkownikowi. Uważam, że aplikacja, która tego nie robi, jest w jakiś sposób niedoskonała.
Mówię „prawdopodobnie”, ponieważ twoja aplikacja (przynajmniej w tym przypadku) nigdy nie powinna tego zobaczyć. Powinno to prawie na pewno używać rozwijanej kontroli z ograniczonym wyborem do czegoś takiego. Gdyby używał pola kombi lub (szok, przerażenie) pola do wprowadzania tekstu w dowolnym formacie, należałoby je przedefiniować.
Oznaczałoby to, że naruszenie nigdy nie wystąpi, chyba że w pewnym momencie aplikacja i ograniczenie nie będą zsynchronizowane. Ale to jest coś, co powinno zostać złapane w testach, na długo przed tym, zanim klient dostanie swoje brudne rączki do Twojej aplikacji.
Aby odpowiedzieć na Twoje pytanie, nie można zmienić komunikatów wychodzących z Oracle w związku z naruszeniami ograniczeń. Najlepsze, co możesz zrobić, to inteligentnie nazwać ograniczenia, tak aby miało to sens dla użytkownika końcowego.
Ale nadal twierdzę, że za prezentowanie problemów użytkownikowi odpowiada warstwa aplikacji, a nie warstwa bazy danych.