Re: [SQL] sql statements - Mailing list pgsql-sql

From Tom Lane
Subject Re: [SQL] sql statements
Date
Msg-id 28636.949601023@sss.pgh.pa.us
Whole thread Raw
In response to sql statements  ("David Warren" <exec@shreve.net>)
List pgsql-sql
"David Warren" <exec@shreve.net> writes:
> UPDATE table1 SET val1 = 'test', SET val2 = 'test' WHERE recnum=1;
> This statement doesn't work for me. If I use only one SET per statement =
> it does. Is this supposed to be this way?

Yes.  I don't know where you got the idea that the SET keyword should
appear multiple times, but the SQL92 syntax is perfectly clear that
it appears once:
        <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>
        <update source> ::=               <value expression>             | <null specification>             | DEFAULT
        <object column> ::= <column name>

> Also, the statement INSERT INTO table1 (val1, val2, ..., val68) VALUES =
> ('test','test',...,'test') gives me an error as well. There are 68 =
> elements I am trying to add in that one statement. If I trim it down to =
> 30 or so it is fine. Is it supposed to be this way?

How long is the resulting statement?  There's an 8K limit on the length
of the query text in 6.5 and older releases (it's gone in current
sources though).  If you're not hitting that then I dunno... what error
do you get exactly?
        regards, tom lane


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: [SQL] Question about SELECT and ORDER BY
Next
From: Frank Bax
Date:
Subject: Install: Undefined symbol `_TAS'