Using EXECUTE in a function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have found under

  http://www.physiol.ox.ac.uk/Computing/Online_Documentation/postgresql/plpgsql.html#PLPGSQL-OVERVIEW

    Note:  The PL/pgSQL  EXECUTE statement is not related to the EXECUTE
           statement supported by the PostgreSQL server. The server's EXECUTE
           statement cannot be used within PL/pgSQL functions (and is not needed).

I'm especially stumbling over the "is not needed" part.  My plan
is to write a server side function (either SQL or pgsql) that wraps
the output of a PREPAREd statement but I have no idea how to do this.

The final task is to obtain some XML for of my data via a simple shell script
that contains

        psql -t MyDatabase -c 'SELECT * FROM MyFunction ($1, $2);'

The task of MyFunction($1,$2) is to wrap up the main data into an XML
header (just some text like
    <?xml version="1.0" encoding="ISO-8859-1"?>
      ...
) around the real data that will be obtained via a PREPAREd statement that is
declared like this

   PREPARE xml_data(int, int) AS ( SELECT ... WHERE id = $1 AND source = $2 );

where "..." stands for wrapping the output into xml format.

I don't know whether this is a reasonable way.  I know how to solve this
problem when using a pgsql function and preparing the output as a text
string but I learned that PREPAREd statements might be much more clever
performance wise and thus I wonder whether I could do it this way.

Kind regards and thanks for any help

        Andreas.

--
http://fam-tille.de

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux