2017-06-02 10:15 GMT+02:00 Pavel Stehule <pavel.steh...@gmail.com>: > > > 2017-06-02 10:06 GMT+02:00 Craig Ringer <cr...@2ndquadrant.com>: > >> On 2 June 2017 at 15:51, Pavel Stehule <pavel.steh...@gmail.com> wrote: >> >> > a, b := fx(); >> > >> > Comments, notes, ideas? >> >> I'd be pretty happy to have >> >> (a, b) = (x, y); >> (a, b) = f(x); >> >> which is SQL-esque. >> > > This is not too far to my proposal - and it is fully adequate alternative. >
The ANSI form is related to SET or UPDATE commands - so in this case I see classic languages style https://en.wikipedia.org/wiki/Assignment_(computer_science) better. The assign statement in PLpgSQL is not related to embedded SQL. If we introduce SQL syntax and SET commands for schema variables then ( ) syntax is perfect, but for := PLpgSQL I am not sure It is maybe strange, but SET (a,b) = (SELECT a,b FROM foo) a, b := fx() are sentences from two independent worlds and different syntax can be correct (depends how much we would to integrate procedural and SQL worlds .. 100% T-SQL, 80% SQL/PSM, ..20% PLpgSQL or 5%PL/SQL) Regards Pavel > > >> >> But what, if anything, does Ada do? >> > > What I know, no, Ada has not this statement - but the design of OUT > parameters in Ada absolutely different than PostgreSQL - so in this case we > cannot to use Ada language as our base :( > > Regards > > Pavel > > >> >> -- >> Craig Ringer http://www.2ndQuadrant.com/ >> PostgreSQL Development, 24x7 Support, Training & Services >> > >