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;
删除成功》》》》》》》》》》》》》》》》》》》》》》》》》》》
看起来挺简单的一个任务,做起来可棘手,原来这个表是外键约束的,作为一个主表存在!!
可是,我刚刚接触这个系统,可是难死我了
之后查了一下资料确认可以通过约束名来查询到相应的表禁用约束,这才解决了
下面是我做的实验过程:
首先建两张表:
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中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- sql增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表
- 怎么删除有外键约束的MySQL表中的数据
- 违反约束或者主外键删除数据
- 导入的数据,删除约束后没有自动删除对应索引,重建约束出错
- 最简单删除SQL Server中所有数据的方法(不用考虑表之间的约束条件,即主表与子表的关系)
- SQLserver 删除数据所有表和存储过程和约束
- 手动删除数据时遇到完整性约束告警
- 数据库、数据表创建后 添加,修改,删除表的列,约束等表的定义。
- sql添加,修改数据及删除表,表约束、字段及数据
- 删除有外健约束表的数据
- 数据更新:updata 逻辑运算符的优先等级问题 not>and>or 删除一个表中的内容 约束
- SQLserver 删除数据所有表和存储过程和约束
- SQL Server 禁用外键约束和启用外键约束及删除表数据
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- oralce数据库表删除主键约束
- SQL批量删除数据表中指定字段对应的所有约束
- Yii2.0 外键约束与数据级联删除
- MySQL 如何删除有外键约束的表数据