Re: [SQL] Looking for information on PostgreSQL Stored Procedures

From: "Foster, Stephen" <stephenlfoster(at)comcast(dot)net>
To: "'Michael Fuhr'" <mike(at)fuhr(dot)org>, "'Douglas McNaught'" <doug(at)mcnaught(dot)org>
Cc: <pgsql-general(at)postgresql(dot)org>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: [SQL] Looking for information on PostgreSQL Stored Procedures
Date: 2005-12-11 18:07:26
Message-ID: 000001c5fe7d$be7f5470$2101a8c0@cfgod
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-sql

Thanks Michael! Guess I should have drunk more coffee before replying.
I must have miss that.

-----Original Message-----
From: Michael Fuhr [mailto:mike(at)fuhr(dot)org]
Sent: Sunday, December 11, 2005 11:22 AM
To: Douglas McNaught
Cc: Foster, Stephen; pgsql-general(at)postgresql(dot)org;
pgsql-sql(at)postgresql(dot)org
Subject: Re: [SQL] [GENERAL] Looking for information on PostgreSQL
Stored Procedures

On Sun, Dec 11, 2005 at 11:38:47AM -0500, Douglas McNaught wrote:
> "Foster, Stephen" <stephenlfoster(at)comcast(dot)net> writes:
>
> > WHILE (--Lost on variable name for end of query; EmptyQueryResponse
<>
> > 0? --)
> > BEGIN
> > IF LastName = fname THEN
> > DELETE FROM MailingList WHERE id = id;
> > END IF;
> > LastName := fname;
> > FETCH NEXT FROM NewListCursor INTO fname, id;
> > END;
> > CLOSE NewListCursor;
> > $BODY$
> > LANGUAGE 'sql' VOLATILE;
>
> You can't do any looping or other control structures in an SQL
> function. Use PL/pgSQL instead.

And as I mentioned in my previous post, you can loop through query
results without messing around with an explicit cursor.

CREATE FUNCTION testfunc() RETURNS void AS $$
DECLARE
row record;
BEGIN
FOR row IN SELECT * FROM tablename ORDER BY whatever LOOP
-- do stuff that refers to row.column_name
END LOOP;

RETURN;
END;
$$ LANGUAGE plpgsql;

--
Michael Fuhr

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.13.13/197 - Release Date:
12/9/2005

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.13.13/197 - Release Date:
12/9/2005

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2005-12-11 18:08:06 Re: [SQL] Looking for information on PostgreSQL Stored Procedures
Previous Message Foster, Stephen 2005-12-11 17:47:29 Re: [SQL] Looking for information on PostgreSQL Stored Procedures

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2005-12-11 18:08:06 Re: [SQL] Looking for information on PostgreSQL Stored Procedures
Previous Message Foster, Stephen 2005-12-11 17:47:29 Re: [SQL] Looking for information on PostgreSQL Stored Procedures