| From: | Franco Bruno Borghesi <franco(at)akyasociados(dot)com(dot)ar> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | returning composite types. |
| Date: | 2003-03-28 23:20:25 |
| Message-ID: | 200303282020.25997.franco@akyasociados.com.ar |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Franco Bruno Borghesi | 2003-03-28 23:40:58 | Re: Stored procedures |
| Previous Message | Zodiac | 2003-03-28 22:31:46 | Stored procedures |