am Wed, dem 28.05.2008, um 15:56:22 +0800 mailte laser folgendes: > hi all, > > see query below: > > create table ruleTest(id integer, name text); > > create or replace rule ruleTest_insert_rule AS on insert to ruleTest > where exists(select 1 from ruleTest where ruleTest.name = NEW.name) > do instead (update ruleTest set id = id+1 where ruleTest.name = NEW.name); > > I think the id should be 1, cause the rule condition should only affect > exist row, > but ISTM the rule act like a DO ALSO rule: insert the row first, then > update it. > > any hints?
Yes, use a TRIGGER instead a RULE for such tasks. Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general