From: | Pandurangan R S <pandurangan(dot)r(dot)s(at)gmail(dot)com> |
---|---|
To: | Matthew Peter <survivedsushi(at)yahoo(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: plpgsql question |
Date: | 2006-01-05 05:58:44 |
Message-ID: | 5e744e3d0601042158v69269fb7r5a57fa114487ec19@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Assuming records is the name of a table...
create or replace function getrecord(int,text) RETURNS SETOF records as $$
DECLARE
row records%rowtype;
BEGIN
FOR row IN SELECT * FROM my_tbl
WHERE ...
LOOP
RETURN NEXT row;
END LOOP;
RETURN;
END;
$$ LANGUAGE plpgsql;
On 1/5/06, Matthew Peter <survivedsushi(at)yahoo(dot)com> wrote:
> I'm trying to do a simple SELECT * in plpgsql that returns a set of records
> as a row w/ columns, not a row into a variable, w/ some conditionals.
>
> The function below is semi-pseudo with what I'm trying to... If anyone
> could give me an example that works by returning it as a resultset
> maintaining the columns, that would be awesome and I could take it from
> there.
>
> I've read the pl/pgsql section of the docs and the Douglas book but I'm
> still confused on this issue...
>
> Thanks
>
> create or replace function getrecord(int,text) RETURNS SETOF records as $$
> DECLARE
> -- event := rows to return from the table below
>
> BEGIN
> event := SELECT * FROM my_tbl
> WHERE 1 = 1
> and my_tbl_id IN (0$1) ||
> ' IF $2 IS NOT NULL THEN' || and username = $2 || 'END IF;'
> ; -- end sql statement
>
> RETURN event;
>
> END;
> $$ LANGUAGE plpgsql;
>
>
>
>
> ________________________________
> Yahoo! DSL Something to write home about. Just $16.99/mo. or less
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tony Wasson | 2006-01-05 07:10:47 | Monitoring PostgreSQL connections using cricket and pg_stat_activity |
Previous Message | Patrick TJ McPhee | 2006-01-05 05:17:30 | Re: Moving Tablespaces |