Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: trigger automatyczna aktualizacja czasu utworzenia/modyfikacji
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
erhaminus
witajcie,

przeszukałem forum ale nie znalazłem odpowiedzi, nie udało mi się wygooglać akurat konkretnie tego

pisałem już pod MSSQL/MySQL/Oracle, teraz przyglądam się PostgreSQL z którego prawdę mówiąc jestem "zielony"

chciałbym stworzyć trigger który zaktualizuje pole creation_time przy tworzeniu rekordu aktualnym czasem oraz last_update_time przy aktualizacji

początek potrafię...

create trigger nazwa_triggera before insert on nazwa_tabeli
for each row
begin
questionmark.gif? new.:creation_time := current_timestamp questionmark.gif?
end;

create trigger nazwa_triggera_2 before update or insert on nazwa_tabeli
for each row
begin
questionmark.gif? new.:last_update_time := current_timestamp questionmark.gif?
end;

niestety nie znam dokładnej składni jak zmusić go do aktualizacji pola rekordu

dzięki za podpowiedź,
Włodek
sf
Przy dodawaniu nie musisz tworzyć triggera. Wystarczy:

  1. "addDate" date NOT NULL DEFAULT now()


Co do składni to jest w manualu:

http://www.postgresql.org/docs/8.1/interac...ql-trigger.html
erhaminus
dzięki za link

myślę, że powinno być to jednak na triggerze (przynajmniej last_update) bo zmiana czasu w przypadku update'a się nie powiedzie skoro już będzie jakaś data wpisana do rekordu, a ręczne wstawianie null do obiektu nie jest dobrym rozwiązaniem
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.