Re: a way to generate functions dynamically ?

From: Richard Huxton <dev(at)archonet(dot)com>
To: Marc Mamin <M(dot)Mamin(at)intershop(dot)de>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: a way to generate functions dynamically ?
Date: 2007-01-11 10:19:57
Message-ID: 45A60F4D.8080305@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Marc Mamin wrote:
> Hello,
>
> I need to generate some procedures that depend data models stored in my
> DBs.
> As I have different models in different databases, the stored procedures
> will differ.
>
> My idea is to generate the required stored procedures dynamically once a
> model is defined.
> I will probably do this within the application. But is there a way to
> achieve this with plpgsql ?
>
> here a naive try to illustrate my idea:
>
> CREATE OR REPLACE FUNCTION test(p1 int)
> RETURNS integer AS
> $BODY$
>
> EXECUTE'
> CREATE OR REPLACE FUNCTION generated(p2 int)
> RETURNS integer AS
> $BODY$
> BEGIN

> ERROR: syntax error at or near "BEGIN"
> SQL state: 42601

The only mistake is in the $$ quoting. It thinks the second $BODY$ is
closing the first. You'll need to generate a different quote-identifier
(e.g. $CUSTOM$).

--
Richard Huxton
Archonet Ltd

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Steve Sabljak 2007-01-11 12:22:21 Aggregating both tables in a join?
Previous Message Marc Mamin 2007-01-11 08:29:56 a way to generate functions dynamically ?