You're looking for a trigger, not a rule.
On Tue, 25 Mar 2008, Edward Blake wrote:
> Thanks to everyone who's helped me before.
>
> I'm trying to create the following mysql table in postgres:
>
> CREATE TABLE visit (
> data1 varchar(30) NOT NULL,
> data2 varchar(30) DEFAULT NULL,
> data3 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
> CURRENT_TIMESTAMP);
>
> Thus far, I've been able to get this far:
> CREATE TABLE visit (
> data1 varchar(30) NOT NULL,
> data2 varchar(30) DEFAULT NULL,
> data3 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP);
> CREATE RULE timestamp_update AS ON UPDATE TO visit
> DO ALSO
> UPDATE vist
> SET data3 = CURRENT_TIMESTAMP;
>
> I've tried multiple iterations of how to accomplish this and keep getting
> stuck. With the one above, postgres yells and says:
> ERROR: infinite recursion detected in rules for relation "visit"
>
> Any ideas?
>