Re: Dynamic binding in plpgsql function

From: Vibhor Kumar <vibhor(dot)kumar(at)enterprisedb(dot)com>
To: Pierre Racine <Pierre(dot)Racine(at)sbf(dot)ulaval(dot)ca>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Dynamic binding in plpgsql function
Date: 2011-03-01 23:23:30
Message-ID: 576FF187-6925-4984-9702-42FE1C9296FC@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Mar 2, 2011, at 4:31 AM, Pierre Racine wrote:

> CREATE OR REPLACE FUNCTION ST_MyGeneralFunction(callback text)
> RETURNS SETOF geomval AS $$
> DECLARE
> x integer;
> y integer;
> BEGIN
> y := somecalculation;
> x := 'callback'(y); --This is what I need
> RETURN x;
> END;
> $$ LANGUAGE 'plpgsql';
>
> I don't want to do an EXECUTE statement since I have no table to put after the FROM clause. I want to assign the resulting value directly to a variable like in my example.

You don't need any table to assign value of function to Variable, if function returning single value. You can use EXECUTE 'SELECT '||$1||'(y)' into x;

Thanks & Regards,
Vibhor Kumar
EnterpriseDB Corporation
The Enterprise PostgreSQL Company
vibhor(dot)kumar(at)enterprisedb(dot)com
Blog:http://vibhork.blogspot.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Royce Ausburn 2011-03-02 01:50:39 Query should have failed, but didn't?
Previous Message Pavel Stehule 2011-03-01 23:17:14 Re: Dynamic binding in plpgsql function