[pgsql-jp: 33766] 外部キー制約について

Eiji Miwa miwa @ offside.ne.jp
2004年 7月 27日 (火) 15:06:16 JST


 ミワです。

 文末にあるようなテーブルの構成で、test テーブルの列を削除する場合、
 対象列の id を参照している test2、test3 の列があれば、
 アプリケーション側で警告を出すようなアクションを起こさせたいと考えています。

 test2、test3 に対して SELECT すればいいだけなのですが、
 システムカタログを参照すれば、一度のクエリーで調べることは可能なのでしょうか?
 お分かりになる方が見えましたら、ポインタで構いませんので
 ご教授いただけると助かります。

-----
CREATE TABLE test (
	id integer
		CONSTRAINT test_pkey
		PRIMARY KEY
);

CREATE TABLE test2 (
	id integer
		CONSTRAINT test2_id_ref
		REFERENCES test ( id )
		ON UPDATE CASCADE
		ON DELETE CASCADE,
	name char ( 5 )
);

CREATE TABLE test3 (
	id integer
		CONSTRAINT test3_id_ref
		REFERENCES test ( id )
		ON UPDATE CASCADE
		ON DELETE CASCADE,
	name char ( 5 )
);

INSERT INTO test ( id ) VALUES ( 1 );
INSERT INTO test ( id ) VALUES ( 2 );
INSERT INTO test ( id ) VALUES ( 3 );
INSERT INTO test2 ( id, name ) VALUES ( 1, 'name1' );
INSERT INTO test3 ( id, name ) VALUES ( 2, 'name2' );
-----
--
 miwa at offside.ne.jp




pgsql-jp メーリングリストの案内