Re: Passing values to a plpgsql functions

Поиск
Список
Период
Сортировка
От Jose Luis LG
Тема Re: Passing values to a plpgsql functions
Дата
Msg-id 001501c1c374$c979f440$424d4d7d@Servidor2K.local
обсуждение исходный текст
Ответ на Re: Passing values to a plpgsql functions  ("Dave Cramer" <Dave@micro-automation.net>)
Список pgsql-jdbc

Hi Dave,

Thanks for the answer but I do not think this is my case.  This is what
I am doing:

The functions I am creating is:


   CREATE OR REPLACE FUNCTION getthemedescription (text) RETURNS text AS
'
   DECLARE
    themeid ALIAS FOR $1;
    metaid metadata.meta_id%TYPE;
    generalid general.general_id%TYPE;
    descriptionidcursor CURSOR FOR SELECT description_id FROM
general_description WHERE general_id = generalid;

   BEGIN
    SELECT INTO metaid meta_id FROM themehasmetadata WHERE theme_id
=  themeid;
    SELECT INTO generalid general_id FROM meta_general WHERE meta_id
= metaid;
    OPEN descriptionidcursor;

    RETURN "descriptionidcursor"
END;
' LANGUAGE 'plpgsql';


I call this function in the following way:


    String themeID = "mathematics";
    String queryString = "SELECT getthemedescription(" + themeID +
")");

    Statement stmt = conn.createStatement();

    ResultSet l_cursorRSet = stmt.executeQuery(queryString);

                .......

If I send the themeID as above I get: ERROR: Attribute 'mathematics' not
found.

If I send the themeID = "'mathematics'" I get:  fmgr_info: function
24907: cache lookup failed.

I think it has something to do with the quotes, but what?


Best regards


Jose Luis

> -----Original Message-----
> From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-
> owner@postgresql.org] On Behalf Of Dave Cramer
> Sent: viernes, 01 de marzo de 2002 14:39
> To: 'Jose Luis LG'; pgsql-jdbc@postgresql.org
> Subject: Re: [JDBC] Passing values to a plpgsql functions
>
> Jose,
>
> Postgres is slightly different than most databases in it's
> implementation of functions. What you need to do is put the function
in
> a select as follows:
>
> there is a builtin function called nextval('sequence') so you can
"call"
> nextval like this
>
> select nextval('sequence_name')
>
> Note: the single quotes are necessary and it will return a column
> nextval in the resultset.
>
> Dave
> -----Original Message-----
> From: pgsql-jdbc-owner@postgresql.org
> [mailto:pgsql-jdbc-owner@postgresql.org] On Behalf Of Jose Luis LG
> Sent: Friday, March 01, 2002 4:18 AM
> To: pgsql-jdbc@postgresql.org
> Subject: [JDBC] Passing values to a plpgsql functions
>
>
> Hello,
>
> Can anybody help me?  How can I pass values to a plpgsql functions
from
> jdbc.  I have tried the CallableStatement but this seems not to be
> implemented (Using Postgresql 7.2).  Is there any way of passing the
> values via Statement or PreparedStatement.  If this is not possible
> could someone tell me where I can find some examples doing this via
the
> FastPath Api.
>
>
> Thanks and best regards
>
>
>
> Jose Luis


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

Предыдущее
От: "Nortje, Jacques"
Дата:
Сообщение: FW: boolean type
Следующее
От: Hany Ziad
Дата:
Сообщение: DB mirroring