truncate有外键约束的表,报ORA-02266处理。
问题描述:当父表有子表的外键约束时,无法直接truncate父表。报ORA-02266: unique/primary keys in table referenced by enabled foreign keys。
这里使用另一种办法来解决这个问题:先把外键失效,truncate表之后再把外键生效。
SQL> truncate table machine_room;
truncate table machine_room
*
ERROR at line 1:
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
1.查询外键约束
SQL> select TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,R_CONSTRAINT_NAME from ALL_CONSTRAINTS WHERE constraint_type='R' and owner='UML';
TABLE_NAME CONSTRAINT_NAME R_CONSTRAINT_NAME
------------------------------ ------------------------------ ------------------------------
TEAM FK_T_SCHOOL01 PK_T_SCHOOL
TEAM_MESSAGE FK_T_TEAM04 PK_T_TEAM
TEAM_MESSAGE FK_T_SCHOOL0 PK_T_SCHOOL
RACE_SEAT FK_T_MACHINE_ROOM02 PK_T_MACHINE
RACE_SEAT FK_T_TEAM02 PK_T_TEAM
RACE_MARK FK_T_TEAM03 PK_T_TEAM
6 rows selected.
2. 失效子表的外键约束 (所有外键)
SQL> ALTER TABLE race_seat DISABLE CONSTRAINT fk_t_machine_room02 ;
Table altered.
3. 再次执行truncate父表数据的操作
SQL> truncate table machine_room;
Table truncated.
4. 生效外键约束 (刚才所有失效外键)
SQL> ALTER TABLE race_seat enable CONSTRAINT fk_t_machine_room02;
Table altered.
ok,转载请标明出处。
truncate有外键约束的表,报ORA-02266处理。的更多相关文章
- MySQL truncate含有外键约束的条目报错
1.报错信息: Cannot truncate a table referenced in a foreign key constraint 2.出现错误操作: truncate table a1; ...
- Truncate有外键约束的表
SET FOREIGN_KEY_CHECKS=0; TRUNCATE TABLE table_name; SET FOREIGN_KEY_CHECKS=1;
- MySQL数据库(4)_MySQL数据库外键约束、表查询
一.外键约束 创建外键 --- 每一个班主任会对应多个学生 , 而每个学生只能对应一个班主任 ----主表 CREATE TABLE ClassCharger( id TINYINT PRIMARY ...
- 数据库 SQL 外键约束 多表查询
多表设计与多表查询 1.外键约束 表是用来保存现实生活中的数据的,而现实生活中数据和数据之间往往具有一定的关系,我们在使用表来存储数据时,可以明确的声明表和表之前的依赖关系,命令数据库来 ...
- mysql 外键约束及表关联
一.MYSQL中的约束 1.主键:primary key 唯一非空的特性并且可以优化查询速度 2.外键:foreign key 外键的作用保证2个或2个以上的数据表的数据一致性和完整性 3.唯一:un ...
- MySQL 如何删除有外键约束的表数据
今天删除数据库中数据,提示因为设置了foreign key,无法修改删除 可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. SET FOREIGN_KEY_CHECKS=0; 删除 ...
- 删除或清空具有外键约束的表数据报-ERROR 1701 (42000)
OS: centos 6.3 DB:5.5.14 mysql> select database();+------------+| database() |+------------+| sa ...
- 清空具有外键约束的表时报ERROR 1701(42000)的解决办法
ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`furion`.`tbl_fr ...
- Oracle 外键约束子表、父表
CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, ...
随机推荐
- informix dbaccess 常用执行方式及常见技巧
假设: A.数据库servername: testserver B.数据库名:testdb C.SQL脚本文件: sqlfile.sql create table test_table(c1 inte ...
- JfreeChart的使用
前提:导入需要的2个jar文件,jcommon-版本号.jar,jfreechart-版本号.jar.可以去官网下载:http://sourceforge.net/projects/jfreechar ...
- 数据包与IPTABLE关系
#数据包传输 以本地为目标 -------------------------------------------------------------------------------------- ...
- Construct Binary Tree from Preorder and Inorder Traversal [LeetCode]
Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...
- hibernateValidate
1.创建主页面 <form action="${pageContext.request.contextPath }/first.do" method="post&q ...
- 回车键转tab键解决方案二
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 一个getjson()方式调用实例【前后台】,适于跨域访问。
题记:首次发个随笔,把以前写的一个笔记发过来,劝当记录,以供查询. jquery的推出确实解决了大部分程序员都感到头痛的事情,无论是对于UI的访问和处理,还是在一系列的远程访问等方面都有了很大的改善, ...
- IT公司100题-25-求字符串中的最长数字串
问题描述: 实现一个函数,求出字符串中的连续最长数字串.例如输入”12345cbf3456″,输出”12345″. 函数原型为: void conti_num_max( const char * sr ...
- android_permission权限大全
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- SAP web 开发 (第二篇 bsp 开发 mvc模式 Part2 )
单击第一个图标,第一个图标突出显示,单击第二个图标,第一个变灰,第二个突出显示,反之一样.单击history读取历史记录. Controller ZCL_SUS_C_ORDER_CHANGE 1. ...