Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pytanie o automatyczny update
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
rakso83
Witam,

Chciałem zrobić jakąś procedure wyzwalaną czy coś innego co by mi robiło UPDATE tabela SET kolumna=NOW(), gdy jest robiony UPDATE na tej samej tabeli. Oczywiście się zapetlamy. Pytanie czy da się coś takiego wykonać? Jak tak to jak? smile.gif

Pozdrawiam
ayeo
Manual
rakso83
Jak pisałem się zapetlam, więc nie bardzo mi pomaga winksmiley.jpg
Sedziwoj
Cytat(rakso83 @ 29.04.2008, 20:30:11 ) *
Jak pisałem się zapetlam, więc nie bardzo mi pomaga winksmiley.jpg


Jak się zapętlamy? Chcesz zmienić wartość tego pola w wszystkich krotkach, czy tylko w tej co dodajesz?
Bo jak w tej co dodajesz, robisz Trigger AFTER i

NEW.kolumna = now();
return NEW;

I to jest zapisywane, więc nie ma nic z pętli.
rakso83
  1. CREATE OR REPLACE FUNCTION testowe33() RETURNS TRIGGER AS '
  2. DECLARE
  3. BEGIN NEW.pole=NOW();
  4.  
  5. RETURN NEW;
  6. END
  7. ' LANGUAGE plpgsql;
  8.  
  9.  
  10. CREATE TRIGGER t_users_update2 AFTER UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE testowe33();



tak? Bo jak tak to nie działa.


Ok rozwiazalem. Zamist AFTER musi byc BEFORE
Sedziwoj
Cytat(rakso83 @ 29.04.2008, 21:58:56 ) *
Ok rozwiazalem. Zamist AFTER musi byc BEFORE


Sorry, to moje taka głupia pozostałość, nie wiem dlaczego ale jak się kiedyś uczyłem angielskiego ubzdurałem sobie że "after" to przed, no i czasem mi się to zdarza, że niechcący źle piszę :/
rakso83
Sam cały czas próbowałem na AFTER smile.gif To nie tak, że Ty mi to powiedziałeś ;D Tylko ja próbowałem dawać UPDATE tabela SET kolumna=now(); winksmiley.jpg i wtedy to już w ogóle nie działało ;D.


Dzięki!
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.