From: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> |
---|---|
To: | derrick(at)grifflink(dot)com |
Cc: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: plpgsql function Syntax |
Date: | 2004-09-02 02:32:37 |
Message-ID: | 20040901192016.N90367@megazone.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
On Wed, 1 Sep 2004 derrick(at)grifflink(dot)com wrote:
> Is it possible to get a select statement to work like this with a for loop?
>
> CREATE FUNCTION public.search(int4)
> RETURNS SETOF search1 AS
> '
> DECLARE
> category alias for $1;
> newrows search1%rowtype;
> rec RECORD;
> SQLCommand varchar;
>
> BEGIN
> IF (category = 0) THEN
> SQLCommand := 'SELECT * FROM table';
> ELSE
> SQLCommand := 'SELECT idnumber FROM table';
> END IF;
>
> FOR rec IN SQLCommand
> LOOP
> ...blah...
> ...blah...
> END LOOP;
>
> Basically I want to create the SELECT statement dynamically and then use
> that select statement in subsequent querries later in the function. Will
> this syntax work or should I try to use a VIEW?
You should be able to use FOR rec IN EXECUTE SQLCommand LOOP to execute
the string and loop over the results I think.
From | Date | Subject | |
---|---|---|---|
Next Message | derrick | 2004-09-02 03:20:03 | Re: plpgsql function Syntax |
Previous Message | derrick | 2004-09-02 01:16:11 | plpgsql function Syntax |