From: Franco Bruno Borghesi <franco@akyasociados.com.ar>
To: pgsql-sql@postgresql.org
Subject: returning composite types.
Date: Fri, 28 Mar 2003 20:20:25 -0300
Message-ID: <200303282020.25997.franco@akyasociados.com.ar> (raw)
Hi guys.
I'm working with functions in my database, using plpgsql, but I reached a
point where I realize I'm missing a concept: how do I return composite types
from a function? I'll give you an example:
CREATE TYPE mytype AS(
val1 INTEGER,
val2 INTEGER,
val3 INTEGER,
val4 INTEGER
);
If I want my function to return a "mytype" type, should I declare it as:
CREATE FUNCTION myFunction() RETURNS mytype AS ...
or maybe
CREATE FUNCTION myFunction() RETURNS SETOF mytype AS ...
and in any case, inside the function, how should I declare the variable
holding the return value?:
DECLARE
result mytype;
BEGIN
...
RETURN result;
END;
or maybe
DECLARE
result mytype%ROWTYPE;
BEGIN
...
RETURN result;
END;
I've read the documentation and the examples in it, but I still don't
understand what the right way is. If you could give an example of a function
filling "mytipe" and returning it, it would really help me.
Thanks in advance.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: franco@akyasociados.com.ar
Subject: Re: returning composite types.
In-Reply-To: <200303282020.25997.franco@akyasociados.com.ar>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox