Re: Checking for Foreign Keys constraining a record?

Поиск
Список
Период
Сортировка
От Jerry Sievers
Тема Re: Checking for Foreign Keys constraining a record?
Дата
Msg-id m3r73ilf67.fsf@prod01.jerrysievers.com
обсуждение исходный текст
Ответ на Checking for Foreign Keys constraining a record?  (Benjamin Smith <lists@benjamindsmith.com>)
Ответы Re: Checking for Foreign Keys constraining a record?  ("Gavin M. Roy" <gmr@ehpg.net>)
Список pgsql-general
Benjamin Smith <lists@benjamindsmith.com> writes:

> I want to be able to determine in advance whether or not a record is
> "deleteable" before displaying the button to delete the record. If it's not
> deleteable, it should say so before the user hits the button.
>
> But, the only way that I've been able to find out if the customer record is
> deletable is to begin a transaction, try to delete it, check to see if it
> worked, and then rollback the session.
>
> This causes my error logger to log errors everytime somebody looks at a
> customer record, and (I'm sure) is not very efficient.
>
> Is there a way to ask the database: "Are there any FK constraints that would
> prevent this record from being deleted?"

Short of your own fancy function that walks the FK tree, no.  (BTW,
this could be simple actually if the FK linkage is shallow.)

Add a statement to prevent the nuisance error message to the trans.

begin;
set log_min_messages to log;
do trial delete;
rollback;

HTH


--
-------------------------------------------------------------------------------
Jerry Sievers   305 854-3001 (home)     WWW ECommerce Consultant
                305 321-1144 (mobile    http://www.JerrySievers.com/

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

Предыдущее
От: Benjamin Smith
Дата:
Сообщение: Checking for Foreign Keys constraining a record?
Следующее
От: Jerry Sievers
Дата:
Сообщение: Re: Checking for Foreign Keys constraining a record?