Re: What's wrong with this function - Mailing list pgsql-sql

From Jie Liang
Subject Re: What's wrong with this function
Date
Msg-id Pine.BSF.4.10.10102091331420.35405-100000@tidal.ipinc.com
Whole thread Raw
In response to Re: What's wrong with this function  (Najm Hashmi <najm@mondo-live.com>)
List pgsql-sql
Try:
create function foo(text) returns int4 as '
delcaretcount int4:=0;
beginfor rec IN select title, dcount from songs where artist=$1 LOOP    tcount:= tcount+rec.dcount;END LOOP;return
tcount;
end;
' language 'plpgsql';


call it by:

db> select foo('Najm Hashmi');

it will return how many songs of 'Najm Hashmi' in your database.


Jie LIANG

St. Bernard Software
Internet Products Inc.

10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873

jliang@ipinc.com
www.stbernard.com
www.ipinc.com

On Sat, 10 Feb 2001, Najm Hashmi wrote:

> Jie Liang wrote:
> 
> > I just know you can use implict cursor inside the plpgsql
> > e.g
> > declare
> 
> result text;
> tcount int4;
> 
> >
> > rec record;
> > begin
> > FOR rec IN select_clause LOOP
> >      statements
> > END LOOP;
> > end;
> >
> 
> Thank you Jie for your help. I am bit confused about how it works. I want for
> each row , obtained by select statment,  get certain values and then do some
> calculations and out put that resulst  eg



>  for rec IN select title, dcount from songs where  artist='xyz'
>                  tcount:= tcount+rec.dcount;
> END LOOP;
>  return tcount;
> would this work ?
> Thanks again for your help.
> Regards, Najm
> 
> 



pgsql-sql by date:

Previous
From: Ian Lance Taylor
Date:
Subject: Re: pgsql and cursor
Next
From: Jie Liang
Date:
Subject: Re: String Concatnation