2009/8/10 Robert Haas <robertmh...@gmail.com>: > On Mon, Aug 10, 2009 at 11:36 AM, Tom Lane<t...@sss.pgh.pa.us> wrote: >> Andrew Dunstan <and...@dunslane.net> writes: >>> One fairly simple way would use a new SQL verb (say, DO) like this: >> >>> DO $$ something in plfoo $$ LANGUAGE plfoo; >> >> Yeah, this has been suggested before. I can't see anything very wrong >> with it. >> >>> We could even default the langauge to plpgsql, for which you would then >>> just need: >> >>> DO $$ something in plpgsql $$; >> >> Add a GUC variable to set the default language, perhaps? >> >>> But to make it really nice you'd have to move away from pl programs as >>> strings. That would be a lot more work, and you really wouldn't want to >>> make it work with more than one PL for the sake of everyone's sanity. >> >> That would be an awful lot of messiness to save four keystrokes... > > I think it would be awfully handy to integrate some of the features of > PL/pgsql into core SQL - especially variables, and also things like IF > and FOR... but I'm not expecting it to happen any time soon, or maybe > ever. >
SQL/PSM is better. This language is developed to integration to SQL. It allows one statement procedures. So IF .. THEN ELSE END IF; isn't correct code for PL/pgSQL and it is correct for SQL/PSM. so FOR r AS SELECT * FROM information_schema.tables DO GRANT .... ON r.table_name TO ...; END FOR; sql/psm doesn't need DECLARE, BEGIN and END in this case; http://www.postgres.cz/index.php/SQL/PSM_Manual regards Pavel Stehule > ...Robert > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers > -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers