Re: [SQL] sql statements

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David Warren" <exec(at)shreve(dot)net>
Cc: pgsql-sql(at)hub(dot)org
Subject: Re: [SQL] sql statements
Date: 2000-02-03 18:03:43
Message-ID: 28636.949601023@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

"David Warren" <exec(at)shreve(dot)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

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Frank Bax 2000-02-03 18:38:45 Install: Undefined symbol `_TAS'
Previous Message Mark Hollomon 2000-02-03 17:47:18 Re: [HACKERS] Re: [SQL] Proposed Changes to PostgreSQL