Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger przy update, Pozwolenie na wykonanie update'a
m1s1ek
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 8.11.2004

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


Jak napisac trigger, ktory podczas update'a sprawdzi czy podane wartosci w zapytaniu spelniaja warunki, a potem pozwoli na wykonanie owego update'a albo nie?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Elokwent
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 30.05.2005

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


Pozwólcie że się dołączę. Mam podobny problem.
Chcę stworzyć triggera przy update, który sprawdza wartość w updatowanym wierszu i jeśli jest spełniony warunek, to robi update tego samego wiersza lecz innej kolumny. Problem w tym, że coś nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Stworzyłem coś następującego:

  1. CREATE OR REPLACE FUNCTION zmien_stan_func() RETURNS TRIGGER AS $zmiana_stanu_trig$
  2. BEGIN IF (NEW.logowanko > 5) THEN
  3. NEW.aktywny = false;
  4. END IF;
  5. RETURN NEW;
  6. END;
  7. $zmiana_stanu_trig$ LANGUAGE plpgsql;

i do tego triger na tablicy
  1. CREATE TRIGGER zmiana_stanu_trig AFTER UPDATE ON uzytkownicy
  2. FOR EACH ROW EXECUTE PROCEDURE zmien_stan_func();


Już znalazłem rozwiązanie
http://www.kraszewscy.net/Triggery_(PostgreSQL)
TRIGGER musi być BEFORE a nie AFTER. W przypadku AFTER dane są już fizycznie wstawione do tabeli i nie można zmienić wstawioanych wartości poprzez NEW.

Ten post edytował Elokwent 18.09.2007, 14:15:53
Go to the top of the page
+Quote Post

Posty w temacie
- m1s1ek   Trigger przy update   20.07.2007, 10:10:56
- - prond   Jeżeli funkcja trigger wywoływana przed operacją u...   23.07.2007, 08:17:47
- - m1s1ek   Wielkie dzięki   23.07.2007, 08:26:22
- - Elokwent   Pozwólcie że się dołączę. Mam podobny problem. Ch...   18.09.2007, 14:03:07


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

 



RSS Aktualny czas: 13.10.2025 - 08:08