returning more than one value from a function

From: Lonni J Friedman <netllama(at)gmail(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: returning more than one value from a function
Date: 2010-04-30 16:37:34
Message-ID: i2p7c1574a91004300937xb9a11cacr4f856ecaa3edbd17@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Greetings,
I'm attempting to create a PL/PGSQL function with an IF/THEN
conditional. Basically, all I really need is the ability to run a
long/complex SQL query based on the value of the newest row of one
column in a specific table (if its equal to 1 then run the SQL, if
anything else don't run it). In pseudo code, something like:

CREATE OR REPLACE FUNCTION foo0 RETURN text AS $$
IF (SELECT current_status from table0 WHERE id in (SELECT max(id) FROM
table0))='1' THEN
<LONG SQL QUERY>
END IF;
LANGUAGE 'plpgsql' ;

This seems like a fairly simple requirement, yet I can't find any way
to do this without creating a function. The problem is that the
long/complex SQL query needs to return multiple columns of output (not
just a single value), and functions can only return a single
value/column, so I'm a bit stuck on how to make this work.

Is there an alternative solution that I'm missing?

thanks!

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Didier Gasser-Morlay 2010-04-30 17:19:47 Last modification date for Triggers, functions, tables ....
Previous Message Tony Day 2010-04-30 05:45:39 Re: Long (really long) queries and not sure how to diagnose