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 по дате отправления:

Предыдущее
От: Kirk Wythers
Дата:
Сообщение: Re: update table from a csv file
Следующее
От: Mark Morgan Lloyd
Дата:
Сообщение: libpq thread safety