Re: Returning multiple values (but one row) in plpgsql
От | Ron St-Pierre |
---|---|
Тема | Re: Returning multiple values (but one row) in plpgsql |
Дата | |
Msg-id | 413F585F.7020601@syscor.com обсуждение исходный текст |
Ответ на | Returning multiple values (but one row) in plpgsql ("Karl O. Pinc" <kop@meme.com>) |
Ответы |
Re: Returning multiple values (but one row) in plpgsql
|
Список | pgsql-general |
Karl O. Pinc wrote: > 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 > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > > It works with 7.4.3, except the SELECT statement is testdb=# SELECT * FROM return_multiple(); a | b ---+--- 1 | 2 (1 row) Ron
В списке pgsql-general по дате отправления: