pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: eVl One <evl@my-mail.com.ua>
To: Bruno Wolff III <bruno@wolff.to>
Cc: pgsql-sql@postgresql.org
Subject: Re: How to check: is some key referenced from sometable
Date: Sun, 10 Aug 2003 00:44:32 +0300
Message-ID: <18618711976.20030810004432@my-mail.com.ua> (raw)
In-Reply-To: <20030809150809.GA22927@wolff.to>
References: <3159.195.5.48.107.1059985076.squirrel@my-mail.com.ua>
	<20030809150809.GA22927@wolff.to>

Hello, Bruno.

You wrote 9 08 2003, 18:08:09:

BWI> On Mon, Aug 04, 2003 at 11:17:56 +0300,
BWI>   evl@my-mail.com.ua wrote:
>> Please help.
>> 
>> Need a boolean function which returns true if given key in table is
>> referensed from another table(s).

BWI> Use "exists" with a subselect. Something like:
BWI> select exists(select 1 from table where table.key = 'value');

Thanx for advice, but way I know and it can't be used.
 That's why I've got too many and/or too big tables from which
such key is referenced. I mean (in some simplified way):

 table A (             -- main table A
  id SERIAL,
  PRIMARY KEY(id)
 );

 tableBxx (            -- a lot of tables which got a.id as FOREIGN KEY
  ...                  -- too much to check 'em all with EXISTS queries
  a_id int4 REFERENCES a(id),      -- without significant perfomance loss
  ...
 );
 
So I need:
   "silent delete" - i.e. when trying to DELETE row from A I'll not fall
  out with "$1 referential integrity violation - key in A still
  referenced from Bxx", but silently doesn't delete row ('cause run
  it from function and need function to executes farther after delete);
   "something to check reference" - system (potgresql) is very quickly
  realizes that key is referenced from another table, maybe this
  information may be accessed through some system relations, or so?
Thanx for attention.
  
-- 
Best regards,
              eVl




view thread (5+ messages)  latest in thread

Message-ID: <18618711976.20030810004432@my-mail.com.ua>
Permalink:  ../18618711976.20030810004432@my-mail.com.ua/
Also on:    postgresql.org/message-id/18618711976.20030810004432@my-mail.com.ua

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: evl@my-mail.com.ua, bruno@wolff.to
  Subject: Re: How to check: is some key referenced from sometable
  In-Reply-To: <18618711976.20030810004432@my-mail.com.ua>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox