Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> trigger automatyczna aktualizacja czasu utworzenia/modyfikacji
erhaminus
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.01.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
erhaminus
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.01.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 14:23