Re: Delete from Join

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Delete from Join
Дата
Msg-id 2938.1215098986@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Delete from Join  (Gwyneth Morrison <gwynethm@toadware.ca>)
Ответы Re: Delete from Join  (Gwyneth Morrison <gwynethm@toadware.ca>)
Список pgsql-general
Gwyneth Morrison <gwynethm@toadware.ca> writes:
> What I am actually trying to get past is:

>     DELETE FROM data_table1
>                 using data_table2 INNER JOIN
>                          data_table1  ON data_table1.fkey =
>  data_table2.pkey;

The equivalent to that in Postgres would be

    DELETE FROM data_table1
      USING data_table2
      WHERE data_table1.fkey = data_table2.pkey;

The fundamental issue here is that MSSQL expects the USING clause to
contain a second reference to the delete target table, whereas PG
does not --- if you write the table name again, that's effectively
a self-join and you probably won't get the behavior you want.

You can use JOIN syntax in USING in Postgres, but only for situations
where the query really involves three or more tables.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: "Scott Marlowe"
Дата:
Сообщение: Re: Connection to second database on server
Следующее
От: Sam Mason
Дата:
Сообщение: Re: Functional index adding one