Oracleで外部キーが関連しているテーブルを確認したい。
MySQLと並行してOracleの方も作業しているという非常に不思議な状況ですが、
データ削除しようとしても外部キーのエラーが発生して何のテーブルと外部キーがはられているのかさっぱり分からなかった訳ですよ。
で、当然DBの資料なんて無いから調べる為のSQLを発見。
select b.r_owner, b.table_name from dba_constraints a, dba_constraints b where a.constraint_name = b.r_constraint_name and b.constraint_type = 'R' and a.constraint_type = 'P' and a.owner = UPPER('スキーマ名') and a.table_name = UPPER('テーブル名');
というように書けばどのテーブルが外部キーとしてくっついているのが分かります。
いやぁ削除できなかったから非常に困ってしまいますた。