Re: Updating rows (automatically) that are selected - Mailing list pgsql-general

From Bruno Wolff III
Subject Re: Updating rows (automatically) that are selected
Date
Msg-id 20060124094516.GA7766@wolff.to
Whole thread Raw
In response to Updating rows (automatically) that are selected  (Assad Jarrahian <jarraa@gmail.com>)
List pgsql-general
On Wed, Jan 18, 2006 at 14:26:28 -0700,
  Assad Jarrahian <jarraa@gmail.com> wrote:
> Hello,
>   I have a table called X
> it contains 3 fields of importance(amongst others).
> time (timestamp), snooze (int) , inbox (int)
>
> The time column sometimes has null values.
> What I want is that every time a row is selected, if the time is a
> null value, it is set to now() and  snooze is set to 0 and inbox to 1
>
> How would I go about doing this. I looked into Creating Rules, but I
> am not sure if this will work.

Are you talking about updating the underlying roles or just returning
modified information?

I don't think this is going to be easy to do in the case where you update
the underlying rows. Normally you update data like that using triggers
rather than rules, but you can't trigger on selects.

Maybe you should be changing the data when you store it, rather than the
first time you read it back?

If you don't want to update the underlying data, then using a view with a
CASE statement is probably the easiest soltuion.

pgsql-general by date:

Previous
From: "Dave Page"
Date:
Subject: Re: Does this look ethical to you?
Next
From: "R, Rajesh (STSD)"
Date:
Subject: Re: [HACKERS] [PATCH] Better way to check for getaddrinfo function.