Your update trigger is fired FOR EACH ROW and no rows are updated i.e. no trigger fired! On Tue, 16 Oct 2001 14:48:59 +0200, Reiner Dassing <[EMAIL PROTECTED]> wrote: > Hallo! > > I have written a very small test procedure to show a possible error > on PostgreSQL V7.1.1. > A trigger does not fire the function on update but on inserts. > Does someone have made the same experiences? > > > Here is the short example which is doing nothing important, just showing > the > situation: > > DROP TABLE test; > CREATE TABLE test ( > "sensor_id" int4 NOT NULL, > "epoch" datetime NOT NULL, > "value" float4 NOT NULL, > PRIMARY KEY (sensor_id,epoch)); > > DROP FUNCTION f_test(); > CREATE FUNCTION f_test() RETURNS OPAQUE AS ' > BEGIN > RAISE NOTICE ''Fired %'',TG_OP; > RETURN NULL; > END; > ' LANGUAGE 'plpgsql'; > > > DROP TRIGGER t_test; > CREATE TRIGGER t_test BEFORE INSERT OR UPDATE ON test FOR EACH ROW > EXECUTE PROCEDURE f_test(); > > INSERT INTO test VALUES(1,'2000-10-11 12:00:00',-20.2); > UPDATE test SET value = 1000.0 WHERE epoch = '2000-10-11 12:10:00' AND > sensor_id = 1; > > The result is as follows: > INSERT INTO test VALUES(1,'2000-10-11 12:00:00',-20.2); > NOTICE: Fired INSERT > INSERT 0 0 > UPDATE test SET value = 1000.0 WHERE epoch = '2000-10-11 12:10:00' AND > sensor_id = 1; > UPDATE 0 > > The insert notice can be shown! > The update notice is not there! > > Why? > > > -- > Mit freundlichen Gruessen / With best regards > Reiner Dassing > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])
Aasmund Midttun Godal [EMAIL PROTECTED] - http://www.godal.com/ +47 40 45 20 46 ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org