From: | "Karl O(dot) Pinc" <kop(at)meme(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Returning multiple values (but one row) in plpgsql |
Date: | 2004-09-08 18:51:33 |
Message-ID: | 20040908135133.A9813@mofo.meme.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I want to return multiple values, but not a set, only a single row,
from a
plpgsql function and I can't seem to get it to work. (I suppose I'd be
happy to return a set, but I can't seem to make that work either.
Anyway,
what's wrong with this?)
Version is:
$ rpm -q postgresql
postgresql-7.3.4-3.rhl9
$ cat /etc/redhat-release Red Hat Linux release 9 (Shrike)
Code is:
-- Tests for returning multiple values
CREATE TYPE returntype AS (a INT, b INT);
CREATE FUNCTION return_multiple()
RETURNS returntype
LANGUAGE plpgsql
AS '
DECLARE
myvar returntype;
BEGIN
myvar.a := 1;
myvar.b := 2;
RETURN myvar;
END;
';
SELECT return_multiple();
DROP FUNCTION return_multiple();
DROP TYPE returntype CASCADE;
Errors are:
WARNING: plpgsql: ERROR during compile of return_multiple near line 9
ERROR: return type mismatch in function returning tuple at or near
"myvar"
Thanks.
Karl <kop(at)meme(dot)com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
From | Date | Subject | |
---|---|---|---|
Next Message | Jerome Lyles | 2004-09-08 18:54:04 | Re: Postgresql and scripting [SOLVED] |
Previous Message | Paul Thomas | 2004-09-08 17:37:25 | Re: Need Help in interface.. |