Re: update table from a csv file
| От | Adrian Klaver |
|---|---|
| Тема | Re: update table from a csv file |
| Дата | |
| Msg-id | 50DC7D99.40207@gmail.com обсуждение исходный текст |
| Ответ на | Re: update table from a csv file (Kirk Wythers <kirk.wythers@gmail.com>) |
| Список | pgsql-general |
On 12/27/2012 08:50 AM, Kirk Wythers wrote: > > On Dec 27, 2012, at 10:39 AM, Adrian Klaver <adrian.klaver@gmail.com > <mailto:adrian.klaver@gmail.com>> wrote: > >> No. Some questions though. > > Thanks for the reply Adrian. > >> >> What version pf Postgres? > > 9.1 > >> Is that the actual UPDATE statement, I see no SET? > > I was reading the docs but obviously don't understand the syntax of the > update statement. > >> Have you tried it? >> If so and it failed what was the error? > > Yes and I got an error at or near from. Like this: > > b4warmed3=# UPDATE sixty_min FROM tmp_60 WHERE sixty_min.rowid = > tmp_60.rowid; > ERROR: syntax error at or near "FROM" > LINE 1: UPDATE sixty_min FROM tmp_60 WHERE sixty_min.rowid = tmp_60.... > ^ > b4warmed3=# It is not enough to match the rows through "sixty_min.rowid = tmp_60." You also need to match the columns using SET. Per the examples at the bottom of: http://www.postgresql.org/docs/9.2/interactive/sql-update.html UPDATE employees SET sales_count = sales_count + 1 FROM accounts WHERE accounts.name = 'Acme Corporation' AND employees.id = accounts.sales_person; For many columns it is easier to use the other form of SET. Example from docs: UPDATE weather SET (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, DEFAULT) > -- Adrian Klaver adrian.klaver@gmail.com
В списке pgsql-general по дате отправления: