oracle数据库修改主键时子表外键处理

原创 2014年02月25日 14:20:16

最近,项目需要把开发环境的数据与生产环境数据的主键保持一致,这就需要修改主键,但很多主键都是作为子表的外键存在的,所以需要进行一些处理,以下是当时的实际操作步骤:

1、根据其他信息把开发数据与生产数据的主键对应起来。

2、修改相关外键的状态,把其置为失效,语句如下:

alter table tablename disable  constraint constraintName;

3、修改主键与相关表的外键数据。

4、修改相关外键的状态,把其置为有效,语句如下:

alter table tablename enable constraint constraintName;

查询外键:

select * from user_constraints t where t.constraint_type='R' and r_constraint_name =pkname;


有些外键未建立外键约束,但列名相同,可以通过以下语句查看:

select * from user_tab_columns t where t.column_name='主键列名';

Oracle-13-当父表和子表有外键约束时如何删表及数据

一、对于之前创建的game和player两表,前者是父表,后者是子表,如果此时删除父表,无论是否加关键字purge,都无法删除,因为不允许破坏外键约束,如下图:   二、尝试删除父表game中1...
  • wy_0928
  • wy_0928
  • 2016年04月14日 17:25
  • 2286

oracle更改主外键关系类型并且不破坏原来数据

要修改先删除外键和和主键,通过创建临时的字段存数据 (目的是为了保留客户原来的数据),最后重新建立主键和外键 1、删除主外键关系    alter table 表名 drop constraint 关...
  • myfmyfmyfmyf
  • myfmyfmyfmyf
  • 2014年04月14日 09:57
  • 2575

oracle外键约束数据删除

今天同事让我删除一个表的数据,痛快的答应说好;
  • xlgjjff
  • xlgjjff
  • 2014年11月15日 00:49
  • 950

主键,外键,主表,从表,关联表,父表,子表

一、前言     在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和...
  • java_hch
  • java_hch
  • 2013年03月12日 13:55
  • 3689

父表、子表、主键、外键的关系

相信初学数据库的学员来说,父表和子表、主键和外键这两对关系的理解肯定比较模糊,其实这个四者可以放一起理解。 简单的讲:当两个表建立一对多关系的时候,"一"的那一端是父表,"多"的那一端是子表. ...
  • lxr_17
  • lxr_17
  • 2015年10月19日 14:11
  • 1738

Oracle外键级联删除和级联更新

1 级联删除 Oracle在外键的删除上有NO ACTION(类似RESTRICT)、CASCADE和SET NULL三种行为。 下面以学生-班级为例说明不同情况下的外键删除,学生属于班级...
  • zs064811
  • zs064811
  • 2016年07月06日 10:31
  • 2707

oracle数据库修改主键时子表外键处理

最近,项目需要把开发环境的数据与生产环境数据的主键保持一致,这就需要修改主键,但很多主键都是作为子表的外键存在的,所以需要进行一些处理,以下是当时的实际操作步骤: 1、根据其他信息把开发数据与生产数据...
  • shojia
  • shojia
  • 2014年02月25日 14:20
  • 1220

数据库中父表和子表(主键外键的理解)

好久没有碰数据库分析设计了。今天突然要做一个数据库分析,很是费解,所谓好记性不如烂笔头,个人觉得还是要记一下的。用一个例子来说: 你想要设计的一个产品表可能是这样的:产品表:产品ID, 产品名称, ...
  • z_zT_T
  • z_zT_T
  • 2016年03月07日 14:11
  • 3603

Python进阶之MySQL数据库的主键和外键约束

SQL的主键和外键的作用:    外键取值规则:空值或参照的主键值。 (1)插入非空值时,如果主键表中没有这个值,则不能插入。 (2)更新时,不能改为主键表中没有的值。 (3)删除主键表记录时,你可...
  • m0_37338590
  • m0_37338590
  • 2017年10月23日 20:21
  • 404

Oracle存储过程update受外键约束的主键值时完整性冲突解决方案

背景:虽然在数据库操作中我们并不提倡修改主键,但是确实在实际生活中有这样的业务需求:表A有主键KA,表B中声明了一个references A(KA)的外键约束,我们需要修改A中某条目KA的值并且更新B...
  • u014030117
  • u014030117
  • 2015年06月02日 19:00
  • 2443
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle数据库修改主键时子表外键处理
举报原因:
原因补充:

(最多只允许输入30个字)