Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Czy istnieje sposób na przekazanie przyjaznego dla użytkownika komunikatu o błędzie w przypadku naruszenia ograniczenia?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przykład demonstrujący podatność na wstrzykiwanie SQL i zapobieganie jej w Oracle

  2. varchar2(n BYTE|CHAR) default -> CHAR lub BYTE

  3. Jak mogę wprowadzić wiele warunków w operatorze LIKE?

  4. TO_TIMESTAMP() Funkcja w Oracle

  5. Przydatne zapytania dotyczące wygaśnięcia/zasady/ustawień hasła Oracle EBS