Thread: Queries on the fly

Queries on the fly

From
Greg Lindstrom
Date:
Hello-

I am running PostgreSQL 8.0 on a Gento system and would like to execute
SQL that I have stored in another table and capture the results of the
query.  I have a set of conditions which must be true for an event to
occur, so I have a table named "predicates" which holds "N" tests, all
with effective and end dates defining when this particular test should
be applied to my system.  I have a user defined function where I would
like to pull all of the tests from the predicates table, run the
condition (stored in a column named 'SQL' in the table) and compare it
to a desired result.

An example of a test would be "SELECT INTO ret_value gender='M' as
gender FROM members WHERE member_nbr = member_nbr_in"

My stripped down function looks something like

DECLARE
   ret_value Boolean := False;
   query VarChar(128);
BEGIN
   SELECT INTO query sql FROM predicates WHERE id = 1;

    EXECUTE query;
    -- I would like the result of the query to be here so I can return it...

    RETURN ret_value;
END;

Is this type of thing possible?  It would allow us to add tests and
actions "on the fly" without having to modify our code.  Any help you
can supply would be greatly appreciated.

--greg

--
Greg Lindstrom               501 975.4859 (office)
Programmer                   501 219-4455 (fax)
NovaSys Health               greg.lindstrom@novasyshealth.com
Little Rock, Arkansas

"We are the music makers, and we are the dreamers of dreams."  W.W.