Problem with function & trigger - Mailing list pgsql-sql

From Carlo Vitolo
Subject Problem with function & trigger
Date
Msg-id 3B46ED17.9F3EACA4@ilrspa.com
Whole thread Raw
Responses Re: Problem with function & trigger  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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 by date:

Previous
From: Dado Feigenblatt
Date:
Subject: Re: indexing of hierarchical data
Next
From: "Richard Huxton"
Date:
Subject: Re: Is function atomic?