Problem with function & trigger
| От | Carlo Vitolo |
|---|---|
| Тема | Problem with function & trigger |
| Дата | |
| Msg-id | 3B46ED17.9F3EACA4@ilrspa.com обсуждение исходный текст |
| Ответы |
Re: Problem with function & trigger
|
| Список | pgsql-sql |
This does not work. The error is ERROR: pg_atoi: error in "12.00": can't parse ".00" CREATE FUNCTION "togliscar" () RETURNS opaque AS 'BEGIN UPDATE magazzino SET quantita = (SELECT quantita FROM magazzino WHERE descrizione = NEW.descrizione ) - NEW.quantita WHERE descrizione = NEW.descrizione; RETURN NEW; END; ' LANGUAGE 'plpgsql'; CREATE TRIGGER "togliscarico" BEFORE INSERT ON "scarico" FOR EACH ROW EXECUTE PROCEDURE "togliscar" (); This works. CREATE FUNCTION "delscar" () RETURNS opaque AS 'BEGIN UPDATE magazzino SET quantita = (SELECT quantita FROM magazzino WHERE descrizione = OLD.descrizione ) + OLD.quantita WHERE descrizione = OLD.descrizione; RETURN OLD; END; ' LANGUAGE 'plpgsql'; CREATE TRIGGER "delscarico" BEFORE DELETE ON "scarico" FOR EACH ROW EXECUTE PROCEDURE "delscar" (); The field quantita is numeric(10,2). Both functions works if quantita is integer. Any hint? Bye!
В списке pgsql-sql по дате отправления: