oracle数据库修改主键时子表外键处理
2014-02-25 14:20
295 查看
最近,项目需要把开发环境的数据与生产环境数据的主键保持一致,这就需要修改主键,但很多主键都是作为子表的外键存在的,所以需要进行一些处理,以下是当时的实际操作步骤:
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='主键列名';
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数据库查询表的基本信息,主键,外键等
- hibernate整合遗留数据库之处理主键(外键引用非主键) .
- 修改oracle数据库字段类型,处理ORA-01439错误
- Oracle修改表名、主键、索引、外键删除重建
- DataSet用法一:添加代码创建的表DataTable,设置主键外键,读取及修改DataSet表中数据
- oracle数据库中的查询主键外键的约束
- Oracle10g修改安装 和 Oracle数据库卸载 和 Oracle服务项批处理命令 和 注意事项
- oracle自增长、字段修改、主键外键
- 批量修改字段长度,考虑主键外键索引的情况
- mysql笔记4 - SQL函数(聚合函数,标量函数(大小写,长度),mid函数(显示形式),as别名,union,add,drop,修改表中某列的数据类型,主键限制,外键限制,非空限制,trunca
- oracle数据库中查询该某个表的主键被哪些表引用及该表中的外键来源于哪些表
- 通过sql语句修改表的主键和外键
- 使用sql语句修改表的主键和外键
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- hibernate整合遗留数据库之处理主键(复合主键中的外键)
- 重建表时,遇到ORA-02449: 表中的唯一/主键被外键引用的处理办法
- hibernate整合遗留数据库之处理主键(复合主键的外键)
- MySQL--修改数据表5:删除主键约束,唯一约束,外键约束
- hibernate整合遗留数据库之处理主键(外键引用非主键)
- 修改删除主键,让外键级联修改、删除