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

oracle外键约束数据删除

2014-11-15 00:49 169 查看
  今天同事让我删除一个表的数据,痛快的答应说好;

  看起来挺简单的一个任务,做起来可棘手,原来这个表是外键约束的,作为一个主表存在!!

  可是,我刚刚接触这个系统,可是难死我了

之后查了一下资料确认可以通过约束名来查询到相应的表禁用约束,这才解决了

下面是我做的实验过程:

首先建两张表:

create table t_group (id int not null,name varchar(30),primary key (id));

create table t_user (id int not null,name varchar(30),groupid int,primary key (id),foreign key (groupid) references t_group(id) );

插入数据:

insert into t_group values (1, 'Group1'); 

insert into t_group values (2, 'Group2');  

insert into t_user values (1, 'qianxin', 1);

insert into t_user values (2, 'yiyu', 2);

尝试删除t_group的数据报错!!如图一

根据约束名通过dba_constraints查询从表

select constraint_name, constraint_type, table_name from dba_constraints where constraint_name=upper('sys_c005376');

下面禁用约束

alter table t_user disable constraint sys_c005376;

再次尝试删除数据

delete from t_group;

删除成功》》》》》》》》》》》》》》》》》》》》》》》》》》》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle dba
相关文章推荐