您的位置:首页 > 数据库 > Oracle

oracle中查询、禁用、启用、删除表外键

2011-11-16 09:42 316 查看
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 BERTH disable constraint BERTH_FK;

alter table BOLLARD disable constraint BOLLARD_FK;

alter table YARD_UNAVAIL_REGION disable constraint YARD_UNAVAIL_REGION_FK;

3.启用所有外键约束, 使用下面的sql生成对应sql脚本:

select 'alter table ' || table_name || ' enable constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R';

生成的sql类似下面的语句:

alter table BERTH enable constraint BERTH_FK;

alter table BOLLARD enable constraint BOLLARD_FK;

alter table YARD_UNAVAIL_REGION enable constraint YARD_UNAVAIL_REGION_FK;

4.删除所有外键约束, 使用下面的sql生成对应sql脚本:

select 'alter table ' || table_name || ' drop constraint ' || constraint_name || ';' from user_constraints where constraint_type = 'R';

生成的sql类似下面的语句:

alter table BERTH drop constraint BERTH_FK;

alter table BOLLARD drop constraint BOLLARD_FK;

alter table YARD_UNAVAIL_REGION drop constraint YARD_UNAVAIL_REGION_FK;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: