Re: functions: stable/volatile

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

In response to

Responses

Browse pgsql-general by date

  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