Gerald Ebner <geraldo.eb...@gmail.com>
wrote:
> the given syntax is ANSI sql ("row-value constructors"),
> see also the discussion at
> http://sqlblog.com/blogs/hugo_kornelis/archive/2008/03/10/lets-deprecate-update-from.aspx
>
> Is it likely that row-value constructors will be implemented in the
> (near) future ?

I was curious as I've never heard of row-value constructors before. So 
I've looked at SQL92 
(http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt). The 
document does define the concept of row value constructor - but does not 
appear to allow their use in UPDATE statement the way you show:

 <update statement: searched> ::=
              UPDATE <table name>
                SET <set clause list>
                [ WHERE <search condition> ]

<set clause list> ::=
              <set clause> [ { <comma> <set clause> }... ]

<set clause> ::=
              <object column> <equals operator> <update source>

<object column> ::= <column name>

<update source> ::=
                <value expression>
              | <null specification>
              | DEFAULT


Perhaps this is changed in more recent editions of the standard (which 
don't seem to be publicly available). If not, your proposed syntax 
appears to be non-standard after all, cited article notwithstanding.

Igor Tandetnik 



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to