| From: | "CN LIOU" <cnliou(at)graffiti(dot)net> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Stable function Repeatedly Called |
| Date: | 2003-01-10 07:57:19 |
| Message-ID: | 20030110075719.3397.qmail@graffiti.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hi!
drop table tt1;
create table tt1 (c1 text,c2 text);
drop table tt2;
create table tt2 (c1 text,c2 text);
insert into tt1 values('a','aa');
insert into tt1 values('b','bb');
insert into tt1 values('c','cc');
insert into tt2 values('x','a');
insert into tt2 values('y','b');
CREATE OR REPLACE FUNCTION f1(TEXT) RETURNS TEXT AS'
DECLARE
MyNumber TEXT;
BEGIN
SELECT c2 INTO MyNumber FROM tt2 WHERE c1 = $1;
RAISE NOTICE ''%'',MyNumber; --for debug
RETURN MyNumber;
END' LANGUAGE 'plpgsql' STABLE;
select * from tt1 where c1=f1('x');
update tt1 set c2='ABC' WHERE c1=f1('x');
I thought function "f1" would get called only once but actually it is called 3 times. How do I force it to be called only once in the same SQL?
--
_______________________________________________
Get your free email from http://www.graffiti.net
Powered by Outblaze
| From | Date | Subject | |
|---|---|---|---|
| Next Message | CN LIOU | 2003-01-10 07:58:29 | Hope Rule Is Willing To Discard Result Sets |
| Previous Message | Christoph Dalitz | 2003-01-10 07:55:04 | Re: Version Problems on Mac OS X.2 Jaguar |