calling functions from embedded sql

Поиск
Список
Период
Сортировка
От Tony Griffiths(RA)
Тема calling functions from embedded sql
Дата
Msg-id 3CBE912A.3010506@cs.man.ac.uk
обсуждение исходный текст
Список pgsql-novice
Hi,
There are long and convoluted reasons why I need to do this, but
basically I'd like to call a user-defined function from within embedded
sql in C. I've successfully managed to call functions that either insert
or update tuples, as per the code below, but I'd like to be able to call
a function that returns a setof ints and then process the returned set
within my C++ code.

An example of the code that calls an insert (and that works) is:

CREATE FUNCTION
tpd_City_setrefToPerson_population_refToPerson_ass_rel_saveOp ( name,
character )
        Returns int4
        As '
                INSERT INTO
City_setrefToPerson_population_refToPerson_ass_rel  (
City_setrefToPerson_population, element_of_refToPerson_OID )
                VALUES ( $1, $2);
                SELECT 1;'
LANGUAGE 'sql';

and from the C++ this is called as:

EXEC SQL BEGIN DECLARE SECTION;
        char insert_stmt[1000];
EXEC SQL END DECLARE SECTION;

// create the insert statement into :insert_stmt

EXEC SQL EXECUTE IMMEDIATE :insert_stmt;

What I'd not like to do is invoke the following function:

CREATE FUNCTION
tpd_City_setrefToPerson_population_refToPerson_ass_rel_loadOp ( text )
        Returns  SETOF int4
        As '
                SELECT ( current_value ) FROM
City_setrefToPerson_population_refToPerson_ass_rel  WHERE
objectIdentifier = $1
              '
LANGUAGE 'sql';

but how do I process the resulting setof elements? Or am I attempting
something that should only really be done through dynamic embedded sql?
Incedentally, does anyone know of a source of documentation of
postgreSQL dynamic embedded sql, as I can't seems to find any reference
to this?

Many thanks,

Tony Griffiths





В списке pgsql-novice по дате отправления:

Предыдущее
От: "Henshall, Stuart - WCP"
Дата:
Сообщение: Re: Primary Key
Следующее
От: nandrats@mail.mdanderson.org
Дата:
Сообщение: C++ and postgres