Re: Removing records that violate foreign key

Поиск
Список
Период
Сортировка
От Brian McCane
Тема Re: Removing records that violate foreign key
Дата
Msg-id 20020618153820.M1631-100000@fw.mccons.net
обсуждение исходный текст
Ответ на Removing records that violate foreign key  (Cliff Wells <logiplexsoftware@earthlink.net>)
Список pgsql-admin
I usually use an SELECT with an OUTER JOIN that uses the foreign key with
a USING or ON clause.  Then in the where clause I look for any records
where some field from the primary key table that is NOT NULL is null.
Something like:

SELECT oid FROM fktbl LEFT OUTER JOIN pktbl USING(keyname) WHERE
notnullfield IS NULL ;

You can then use it as a sub-select in a DELETE command or pump the result
out to a file so you can see if you can tell where it all came from.  I
used this once to figure out that a trigger I had firing "BEFORE UPDATE"
had a boundary condition in it.

- brian


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?
>
> --
> Cliff Wells, Software Engineer
> Logiplex Corporation (www.logiplex.net)
> (503) 978-6726 x308  (800) 735-0555 x308
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>

Wm. Brian McCane                    | Life is full of doors that won't open
Search http://recall.maxbaud.net/   | when you knock, equally spaced amid those
Usenet http://freenews.maxbaud.net/ | that open when you don't want them to.
Auction http://www.sellit-here.com/ | - Roger Zelazny "Blood of Amber"



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

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: Removing records that violate foreign key
Следующее
От: David Stanaway
Дата:
Сообщение: Re: Uppercase field names not found