12.12.2011

Oracle: How to find foreign key constraints

Oracle:外部参照されているテーブルの確認方法

テーブルのトランケートを試み、
エラー「ORA-02266 表には使用可能な外部キーによって参照される一意キー/主キーが含まれています。」
が発生したときに、そのテーブルがどのテーブルから参照されているかを確認するSQL。

トランケートを行うには、外部キー制約を DISABLED にする必要がある。

SELECT
    constraint_name,
    table_name,
    status
FROM
    user_constraints
WHERE
    r_constraint_name IN
        (
        SELECT
            constraint_name
        FROM
            user_constraints
        WHERE
            table_name = ’テーブル名‘
        ); 

参考:
http://yp.xenophy.com/?p=74
http://www.databasejournal.com/features/oracle/article.php/3665591/Finding-Foreign-Key-Constraints-in-Oracle.htm

0 件のコメント:

コメントを投稿