Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Walidacja
Forum PHP.pl > Forum > Bazy danych
lukaskolista
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.
Pyton_000
Zerknij na to:
http://rpbouman.blogspot.com/2009/12/valid...ry-with_15.html
lukaskolista
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.
Pyton_000
Było tak od razu że to PGSQL, nie da się. Przy pierwszym błędzie jest robionby throw i dalej nie jest już wykonywane.
lukaskolista
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.