Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> TG_OP + column "INSERT" does not exist
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam,
mam pewien problem z prościutkim triggerem pod PostgreSQL 8.3:
  1. CREATE OR REPLACE FUNCTION categories_products_amount() RETURNS TRIGGER AS '
  2. BEGIN IF (TG_OP = "INSERT" OR TG_OP = "UPDATE") THEN
  3. UPDATE categories SET products=(SELECT COUNT(*) FROM products WHERE category_id=NEW.category_id) WHERE id=NEW.category_id;
  4. END IF;
  5.  
  6. IF (TG_OP = "DELETE" OR TG_OP = "UPDATE") THEN
  7. UPDATE categories SET products=(SELECT COUNT(*) FROM products WHERE category_id=OLD.category_id) WHERE id=OLD.category_id;
  8. END IF;
  9.  
  10. RETURN NULL;
  11. END;
  12. ' LANGUAGE 'plpgsql';
  13.  
  14.  
  15. CREATE TRIGGER categories_products_amount AFTER INSERT OR UPDATE OR DELETE ON products
  16. FOR EACH ROW EXECUTE PROCEDURE categories_products_amount();

Całość tworzy się ładnie, bez żadnego błędu. Problem natomiast powstaje w przypadku wykonywania modyfikacji (I, U, D) na tabeli products. Wówczas otrzymotrzymuję błąd:
Kod
Column "INSERT" does not exits.
IF ($1 = "INSERT" OR $1 = "UPDATE")

W czym problem?
Próbując zmienić "INSERT" itp. na 'INSERT' (jak to jest pokazane w manualu) funkcja w ogóle się nie tworzy - od razu rzuca błędami (oczywiście zmieniam również ' poza ciałem funkcji).
Prosiłbym o pomoc,
pion

Ten post edytował phpion 3.04.2008, 06:11:39
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.08.2025 - 20:08