Re: Removing records that violate foreign key

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: Removing records that violate foreign key
Дата
Msg-id 20020618124439.U64052-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на Removing records that violate foreign key  (Cliff Wells <logiplexsoftware@earthlink.net>)
Список pgsql-admin
On Tue, 18 Jun 2002, Cliff Wells wrote:

> Hello,
>
> I'm porting an application's data from a proprietary format into PostgreSQL
> 7.2.1.  I'm using ecpg and I basically follow this process:
>
> create tables
> create indexes
> import data
> add foreign key constraints
>
> I have to add the foreign key constraint last as otherwise the import will fail
> as the records being referenced won't necessarily exist in PostgreSQL yet.  The
> problem is that now I'd like to delete any records that violate the constraint.
>  Any suggestions on a quick way to do this?


For match full maybe something like:
 delete from fk where not exists (
  select * from pk where pk.pkkeycol1=fk.fkkeycol1 [and ...]
 );

For the unspecified match type, I think you need to add
 fk.fkkeycol1 is not null [and ...]
clauses to the top level where.



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

Предыдущее
От: Digital Wokan
Дата:
Сообщение: Re: Uppercase field names not found
Следующее
От: Brian McCane
Дата:
Сообщение: Re: Removing records that violate foreign key