![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, mam pytanie odnosnie walidacji po stronie bazy danych. Czy da sie sprawdzic poprawnosc rekordu przed jego wczytaniem do tabeli po stronie bazy danych? Chodzi o sprawdzenie wszystkich constraintow typu klucze obce, not null, unique i rozne checki. Podczas insertu zwracany jest pierwszy napotkany blad, a ja chcialbym otrzymac wszystkie.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tylko ze w postgresql jest mozliwosc robienia checkow, czyli definiowania regul poprawnosci dla wartosci kolumn ze tak to nazwe wbudowanych w tabele, bez zadnych triggerow i to chcialbym sprawdzic dla wszystkich kolumn, bez pisania dodatkowych procedur dla kazdej tabeli - najwyzej jedna wspolna proedura.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Było tak od razu że to PGSQL, nie da się. Przy pierwszym błędzie jest robionby throw i dalej nie jest już wykonywane.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Myslalem, zeby z information_schema pobrac constrainty typu check i jakos je uruchomic EXECUTE (string), tylko nie bardzo mam pomysl jak przekazac do nich wartosci kolumn. Parametry odpadaja, bo musza byc poprzedzone :(dwukropkiem). Jest jeszcze mozliwosc podmiany nazw kolumn w stringu checka na wartosc NEW.kolumna, ale to raczej sredni pomysl.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:35 |