Omezení jsou to, co databáze používají k ochraně před chybnými aplikacemi nikoli od uživatelů.
To znamená, že porušení omezení by měla aplikace zachytit a možná vyčištěn pro prezentaci uživateli. Aplikaci, která to neudělala, bych považoval za nějakým způsobem nedostatečnou.
Říkám „možná“, protože vaše aplikace (alespoň pro tento případ) by k tomu nikdy neměla dojít. Téměř jistě by měl pro něco takového používat rozbalovací ovládací prvek s omezeným výběrem. Pokud by používal combo-box nebo (šok, hrůza) pole pro zadávání textu ve volném formátu, musel by být předefinován.
To by znamenalo, že k porušení nikdy nedojde, pokud se samozřejmě aplikace a omezení v určitém okamžiku nesynchronizují. Ale to je něco, co by mělo být podchyceno testováním, dlouho předtím, než se zákazník vůbec dostane do rukou vaší aplikace.
Chcete-li odpovědět na vaši aktuální otázku, zprávy, které přicházejí od společnosti Oracle o porušení omezení, nelze změnit. Nejlepší, co můžete udělat, je pojmenovat svá omezení inteligentně, aby to dávalo smysl pro koncového uživatele.
Stále však tvrdím, že za předkládání problémů uživateli je odpovědná aplikační vrstva, nikoli databázová vrstva.