`

如何删除带有外键关系的主表,并快速重建相应的外键关系 ref_constraint

 
阅读更多

1,备份主表数据。可以用 CREATE TABLE AS SELECT 方式。

2,执行ORACLE自带的DDL生成函数,生成外键重建脚本。

3,删除主表时要加上级联子句,否则删不掉。

4,重建主表,并建上主键约束。

5,从备份表中导入主表数据

6,执行外键脚本。

7,检查没有错误,结束。

----相关参考代码:

drop table hl_dw.DIM_STOREGROUP cascade constraint ;
create table DIM_STOREGROUP 
(
.....
) ;

-- script to generate the ref constraint creation DDL.Here we will collect all the foreign constraint of primary constraint PK_DIM_STOREGROUP .

select 
to_char(dbms_metadata.get_ddl( 'REF_CONSTRAINT', CONSTRAINT_NAME , OWNER )) ref_ddl , r.* 
from dba_constraints r
where r_constraint_name='PK_DIM_STOREGROUP' ;

分享到:
评论

相关推荐

    获得SQL外键集合

    ### 获取SQL外键集合知识点详解 #### 一、概述 在数据库设计中,外键(Foreign Key)是一种用于建立表...这对于数据库管理员和开发人员来说是一项非常实用且重要的技能,有助于更好地理解和管理数据库中的外键关系。

    MySQL添加外键时报错:1215 Cannot add the foreign key constraint的解决方法

    在MySQL数据库中,外键约束是确保数据完整性和一致性的重要机制,它允许两个表之间建立关联,通常是通过一个表的主键与另一个表的特定字段(外键)相匹配。然而,在尝试添加外键约束时,可能会遇到错误1215:...

    实验4 索引、数据完整性与安全性1

    创建带有检查约束的表: ```sql CREATE TABLE table_name (column_name datatype CHECK (condition)) ``` 修改表以添加检查约束: ```sql ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK ...

    hibernate表关联关系

    为了表示这种关系,我们需要创建一个名为 `rolepower` 的中间表,并在这个表中设置两个外键,分别指向 `power1` 表中的 `powerID` 和 `role` 表中的 `roleID`。具体操作如下: 1. **创建 `power1` 表**: ```sql ...

    T-SQL 基本语句归纳总结(SQL server 2008)

    | FOREIGN KEY REFERENCES referenced_table_name [(ref_column)] | CHECK ( logical_expression ) } 其中,constraint_name 是约束的名称,PRIMARY KEY|UNIQUE 是主键或唯一约束,CLUSTERED|NONCLUSTERED 是聚集...

    SQL中的ALTER TABLE语句详解.pdf

    - `ADD CONSTRAINT constraint_name FOREIGN KEY (column_list) REFERENCES ref_table (ref_column_list)`: 添加外键约束。 - 示例:`ALTER TABLE orders ADD CONSTRAINT fk_order_customer FOREIGN KEY (customer...

    Oracle总结,常见面试题

    创建带有约束的表: ``` create table Emp( empid number(8), -- ... constraint emp_PK primary key(empid), constraint emp_FK foreign key(deptid) references netoa.dept(deptid), constraint emp_uni ...

    mysql入门的基础

    - 删除外键:`ALTER TABLE 表名 DROP FOREIGN KEY 外键名;` #### 五、表信息的查看与修改 - **查看表信息** - 结构查看:`DESC 表名;` - 当前所有表:`SHOW TABLES;` - 查看表创建语句:`SHOW CREATE TABLE ...

    oracle使用教程

    - 添加外键约束:`ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCES ref_table(ref_column)` - 添加检查约束:`ALTER TABLE table_name ADD CONSTRAINT constraint_...

    Oracle删除数据报ORA 02292错误的巧妙解决方法

    在Oracle数据库中,当尝试删除记录时遇到ORA-02292错误,通常表示违反了完整性约束,尤其是外键约束。此错误意味着你试图删除的行被其他表中的记录引用,导致数据的一致性受到影响。Oracle设计这种机制是为了保护...

    Skill Builder Identifying Keys and Integrity Constraints A

    - **外键(Foreign Key, FK)**:用于建立两个表之间的关系,通常是一个表的主键作为另一个表的外键。 #### 2. 完整性约束(Integrity Constraints) 完整性约束是指确保数据库数据一致性和准确性的规则集合。主要...

    postgres_sql

    - 也可以添加外键,如`ALTER TABLE tb_everschool ADD CONSTRAINT foreign_key_ref_tbuser_name FOREIGN KEY (name) REFERENCES tb_user(name);` 9. **事务**:事务是一系列数据库操作的逻辑单元,确保这些操作...

    Oracle数据库基本操作详解.doc

    `可以快速清空表中的所有数据而不删除表结构。 2. **复制空表结构**:通过`CREATE TABLE new_table AS SELECT * FROM old_table WHERE 1=2;`命令,可以创建一个新表,其结构与现有表相同但无数据。 3. **复制表(含...

    Oracle_PLSQL语言初级教程.pdf

    - 添加约束:`ALTER TABLE table_name ADD CONSTRAINT fk_constraint FOREIGN KEY (col1) REFERENCES ref_table(col1);` #### 六、过程和函数 - **过程**: 可以有输入参数,但没有返回值。 - 创建:`CREATE OR ...

    基于MySQL数据库的数据约束实例及五种完整性约束介绍

    外键列的值必须是主表中相应主键列的值或NULL。例如: ```sql create table child_table ( child_id int, parent_id int, constraint fk_parent_ref foreign key (parent_id) references parent_table(parent_...

    MySQL数据库基础(3)DDL和DML

    7. **添加外键约束**:`ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (fk_name) REFERENCES referenced_table_name (ref_pk_name)` 建立表间的关联,定义外键。 二、DML:数据操纵语言 DML...

Global site tag (gtag.js) - Google Analytics