Re: Executing Anonymous Blocks - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Executing Anonymous Blocks
Date
Msg-id 1089.24.211.165.134.1112097355.squirrel@www.dunslane.net
Whole thread Raw
In response to Re: Executing Anonymous Blocks  (Neil Conway <neilc@samurai.com>)
List pgsql-hackers
Neil Conway said:
> Alvaro Herrera wrote:
>> On Mon, Mar 28, 2005 at 12:27:18PM +0500, imad wrote:
>>>I want to know is there any way to execute an anonymous PL/pgSQL block
>>>in PostgreSQL.
>>
>> No, there isn't.
>
> It might be possible to implement at least some of this functionality
> entirely in the client. So:
>
> BLOCK;
> /* your pl/pgsql code here */
> END BLOCK;
>
> Could be transformed by the client app to:
>
> CREATE FUNCTION anon_xxx() AS '/* your pl/pgsql code here'
> RETURNS void LANGUAGE 'plpgsql';
> SELECT anon_xxx();
> DROP FUNCTION anon_xxx();
>
> This would be pretty limited -- you couldn't get a return value from
> the  anonymous block, for example -- but I can see it being useful in
> some  situations.
>

I don't see that performing the same transformation at the SQL level would
be any harder. Then if we ever got SQL host variables we might have a good
way of using them ;-). Of course, another question is whether we should make
plpgsql special, or allow anonymous blocks in any supported language.

cheers

andrew




pgsql-hackers by date:

Previous
From: Neil Conway
Date:
Subject: Re: Executing Anonymous Blocks
Next
From: 윤동수
Date:
Subject: when using a bound cursor, error found..