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更改主外键关系类型并且不破坏原来数据

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

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

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

【数据库】 主键,外键,主表,从表,关联表,父表,子表

一、前言     在数据库设计中,hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和O...

浅析【数据库】 主键,外键,主表,从表,关联表,父表,子表

一、前言在数据库设计中,hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和ORM框架的学习使用是...

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

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

ORACLE数据库查询表的基本信息,主键,外键等

转载链接:http://yjyyjsj.blog.163.com/blog/static/720500792009112782517384/ 因为项目某些模块的数据结构设计没有严格按...

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

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

oracle数据库表用序列实现主键自增长

点击打开原网址
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle数据库修改主键时子表外键处理
举报原因:
原因补充:

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