| From: | Tomasz Ostrowski <tometzky(at)batory(dot)org(dot)pl> |
|---|---|
| To: | Rafal Pietrak <rafal(at)zorro(dot)isa-geek(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: functions: stable/volatile |
| Date: | 2006-11-20 15:59:01 |
| Message-ID: | 20061120155901.GE29319@batory.org.pl |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Mon, 20 Nov 2006, Rafal Pietrak wrote:
> The most obvious construct I'd use is:
> UPDATE my_table set filed=newvalue WHERE
> my_function(input)=my_table.selector_field;
> but it's useless, since the function would have been be evaluated for
> every row of the table.
-- Not tested
create function update_my_table(newvalue, input)
returns void
volatile
language plpgsql
as $$
declare
selector selector_field_type;
begin
selector := my_function(input);
update my_table set filed=newvalue
where my_table.selector_field=selector;
end;
$$;
-- and then
select update_my_table(newvalue, input);
-- Not tested.
Regards
Tometzky
--
...although Eating Honey was a very good thing to do, there was a
moment just before you began to eat it which was better than when you
were...
Winnie the Pooh
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Vivek Khera | 2006-11-20 16:17:39 | Re: Eliminating bad characters from a database for upgrading from 7.4 to 8.1 |
| Previous Message | Jonah H. Harris | 2006-11-20 15:07:21 | Re: [GENERAL] Allowing SYSDATE to Work |