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 ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]