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: | Raw Message | Whole Thread | 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 |