Returning multiple values (but one row) in plpgsql

Поиск
Список
Период
Сортировка
От Karl O. Pinc
Тема Returning multiple values (but one row) in plpgsql
Дата
Msg-id 20040908135133.A9813@mofo.meme.com
обсуждение исходный текст
Ответы Re: Returning multiple values (but one row) in plpgsql  (Ron St-Pierre <rstpierre@syscor.com>)
Re: Returning multiple values (but one row) in plpgsql  (Arthur Hoogervorst <arthur.hoogervorst@gmail.com>)
Список 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@meme.com>
Free Software:  "You don't pay back, you pay forward."
                  -- Robert A. Heinlein

В списке pgsql-general по дате отправления:

Предыдущее
От: Paul Thomas
Дата:
Сообщение: Re: Need Help in interface..
Следующее
От: Jerome Lyles
Дата:
Сообщение: Re: Postgresql and scripting [SOLVED]