While I don't see the syntax of:

        update table set (col...) = ( val...)

as valuable compared to separate col=val assignments, I do see a value
in allowing subqueries in such assignments:

        update table set (col...) = ( select val ..)

Without it, you have to do separate subquery statements, and if they are
complex, that is a waste.  I assume that was the motivation for the
feature.

---------------------------------------------------------------------------

Dave Cramer wrote:
> Patrick,
> 
> No, they support the syntax:
> 
> update table set (col1, col2, col3) = ( val1, val2, val3 )
> 
> I have a customer with a rather large application which uses this
> syntax, because they were using informix. There is also a rather
> interesting 4GL project called aubit which is on sourceforge. They would
> also like to see this supported for the same reasons.
> 
> Dave 
> 
> 
> On Wed, 2003-02-19 at 15:02, Patrick Welche wrote:
> > > I have a large customer who is converting from informix to postgres and
> > > they have made extensive use of 
> > > 
> > > update table set (col...) = ( val...)
> > > 
> > > as a first pass would it be possible to translate this in the parser to
> > > 
> > > update table set col=val
> > > 
> > > It would appear that this is SQL3 compliant
> > > 
> > > <set clause> ::=
> > >  <update target> <equals operator> <row value designator>
> > > 
> > > <update target> ::=
> > >  <object column>
> > >  | <left paren> <object column list> <right paren>
> > > 
> > > 
> > > or can someone think of another way?
> > 
> > I don't understand the original problem. What does informix give you? A
> > text file full of "update table set ()=()" which you then try to feed
> > into postgres? In that case, why not pass said text file through a sed or
> > perl script first?
> > 
> > Cheers,
> > 
> > Patrick
> -- 
> Dave Cramer <[EMAIL PROTECTED]>
> Cramer Consulting
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
> http://www.postgresql.org/users-lounge/docs/faq.html
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to