Pavel Stehule wrote:
Tom Lane wrote:
> "Pavel Stehule" <[EMAIL PROTECTED]> writes:
>> a,b,c := out3fce(1); -- Simultaneous assignment
>
> I thought we rejected that idea once already, on the grounds that it
> would make it too hard to tell the difference between intended code
> and typos.
>
In any case, I had some questions:
. is it compatible with PLSQL?
. can the effect be achieved by assigning to a composite?
I looked into SQL2003, and SQL2003 knows it (SQL/PSM):
<assignment statement> ::=
<singleton variable assignment>
| <multiple variable assignment>
<multiple variable assignment> ::=
SET <assignment target list> <equals operator> <assigned row>
<assignment target list> ::=
<left paren> <assignment target> [ { <comma> <assignment target>
}... ] <right paren>
<singleton variable assignment> ::=
SET <assignment target> <equals operator> <assignment source>
The parentheses are apparently required for multiple variables, so in
our case it might look like this:
(a,b,c) := foo(bar);
That might overcome the objection Tom referred to, I guess?
cheers
andrew
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq