Oracleでのクエリー、無効化、有効化、テーブル外部キーの削除

1442 ワード

1、すべてのテーブルの外部キーを問い合わせる:
select table_name, constraint_name from user_constraints where constraint_type = 'R';

2、すべての外部キー制約を無効にし、次のsqlを使用して対応するsqlスクリプトを生成します.
select 'alter table ' || table_name || ' disable constraint ' || constraint_name || ';'
from user_constraints
where constraint_type = 'R';

生成されたsqlは、次の文に似ています.
alter table HRMIS_RELIC_DAMAGE disable constraint FK_HRMIS_RE_0927;
alter table HRMIS_RELIC_BASE disable constraint FK_HRMIS_RE_0922;

3、すべての外部キー制約を有効にし、次のsqlを使用して対応するsqlスクリプトを生成します.
select 'alter table ' || table_name || ' enable constraint ' ||  constraint_name || ';'
from user_constraints
where constraint_type = 'R';

生成されたsqlは、次の文に似ています.
alter table HRMIS_RELIC_DAMAGE enable constraint FK_HRMIS_RE_0927;
alter table HRMIS_RELIC_BASE enable constraint FK_HRMIS_RE_0922;

4、すべての外部キー制約を削除し、次のsqlを使用して対応するsqlスクリプトを生成します.
select 'alter table ' || table_name || ' drop constraint ' || constraint_name || ';'
from user_constraints
where constraint_type = 'R';

生成されたsqlは、次の文に似ています.
alter table HRMIS_RELIC_DAMAGE drop constraint FK_HRMIS_RE_0927;
alter table HRMIS_RELIC_BASE drop constraint FK_HRMIS_RE_0922;

作者:itmyhome