`
thinktothings
  • 浏览: 784831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

删除所有外键约束 禁用所有外键约束 启用所有外键约束

SQL 
阅读更多
删除所有外键约束
Sql代码 复制代码
select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R'

禁用所有外键约束
Sql代码
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R' 

启用所有外键约束
Sql代码
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'  

 

查询所有的约束

 

select * from user_constraints where constraint_name=upper('FK_CT_FEERU_REFERENCE_CT_BILLC')

 

select * from user_cons_columns where lower(column_name)='numimprateguid'

 

 

使此外键不可用

alter table ct_trunkg_ref_billc disable constraint FK_CT_TRUNK_REFERENCE_CT_BILLC;

使此外键可用
alter table ct_trunkg_ref_billc enable constraint FK_CT_TRUNK_REFERENCE_CT_BILLC;

 

 

 

--ct_billcode与生产同步数据

select * from user_constraints where constraint_name=upper('FK_CT_FEERU_REFERENCE_CT_BILLC')
--第一步,停用引用-ct_billcode约束
alter table ct_trunkg_ref_billc disable constraint FK_CT_TRUNK_REFERENCE_CT_BILLC;
alter table CT_FEERULE disable constraint FK_CT_FEERU_REFERENCE_CT_BILLC;

--第二步,删除原有数据,同步生关数据
delete from ct_billcode

insert into ct_billcode
select * from ct_billcode@prod2

--第三步,约束从新建立
alter table ct_trunkg_ref_billc enable constraint FK_CT_TRUNK_REFERENCE_CT_BILLC;
alter table CT_FEERULE enable constraint FK_CT_FEERU_REFERENCE_CT_BILLC;
分享到:
评论

相关推荐

    禁用启用所有外键约束.tst

    首先,让我们来看看如何在MySQL中禁用和启用外键约束: 1. **禁用外键约束**: 在MySQL中,可以使用以下SQL语句临时禁用外键约束: ```sql SET FOREIGN_KEY_CHECKS = 0; ``` 这行命令会关闭对当前会话中外键...

    MySQL删除表的时候忽略外键约束的简单实现

    为了解决这个问题,我们可以利用MySQL中的一个系统变量`FOREIGN_KEY_CHECKS`来临时禁用外键约束检查。 首先,你可以通过以下SQL查询生成所有表的DROP语句,只需将`MyDatabaseName`替换为你的实际数据库名: ```sql...

    数据库技术与应用 外键约束-A学习任务书.doc

    5. 如何在不破坏数据完整性的前提下,临时禁用和启用外键约束? 通过这个学习任务书,你将能够系统地理解外键约束,并在实际项目中灵活运用,提升你的数据管理与维护能力。记得结合实践,理论与实践相结合,才能...

    MySQL外键约束的禁用与启用命令

    然而,在特定情况下,如数据导入、批量更新或优化性能时,可能需要临时禁用外键约束。本文将详细介绍如何在MySQL中禁用和启用外键约束。 首先,我们要理解外键约束的状态是由全局变量`FOREIGN_KEY_CHECKS`来控制的...

    Oracle批量执行sql语句之禁用所有表的外键

    需要注意的是,禁用外键约束可能会导致数据不一致,因为在此期间插入的数据可能不会受到外键约束的检查。因此,建议在没有其他事务运行且数据库处于安全状态时执行这些操作,并在完成后尽快启用约束。 在实际应用中...

    MySQL删除有外键约束的表数据方法介绍

    要解决这个问题,你可以暂时禁用外键约束检查,这样就可以执行删除操作。这可以通过设置全局或会话级的`FOREIGN_KEY_CHECKS`系统变量来完成。以下是具体的步骤: 1. **禁用外键检查**: 在执行删除操作之前,你...

    数据库技术与应用 设置成绩表主键和外键约束-A学习任务书.doc

    4. 可以选择启用或禁用外键约束检查,根据数据库管理需求进行设置。 示例: ```sql CREATE TABLE Grades ( GradeID INT AUTO_INCREMENT PRIMARY KEY, StudentID INT, CourseID INT, Score INT, FOREIGN KEY ...

    达梦数据库禁用约束.sql

    达梦数据库

    达梦数据库批量生成禁用启用约束语句的脚本.sql

    达梦数据库

    视图禁用与启用

    约束禁用 –如果有大批量数据导入时,我们可以采用禁用约束的方法, 主要的好处,首先效率高,另外有主外键约束的表之间导 入时,不用考虑导入的先后顺序。 –禁用约束语法: ALTER TABLE table DISABLE ...

    masql主外键操作

    在进行大量的数据迁移或修改时,可能需要暂时禁用外键约束检查,以提高操作效率。这可以通过设置 `FOREIGN_KEY_CHECKS` 系统变量来实现。 **禁用外键检查:** ```sql SET FOREIGN_KEY_CHECKS = 0; ``` **启用外键...

    django在开发中取消外键约束的实现

    在 Django 框架中,外键约束是一个重要的数据库概念,用于维护数据的一致性和完整性。外键允许一个表中的字段引用另一个表的主键,从而建立两个表之间的关联。然而,在开发过程中,有时可能需要暂时取消外键约束,...

    Oracle 约束错误约束错误

    例如,在创建了一个父表和子表之间的外键约束关系后,试图删除父表中的记录,但子表中存在对应的记录,将会出现 ORA-02292 错误。在这种情况下,可以先删除子表中的记录,然后再删除父表中的记录。也可以使用 ALTER ...

    mysql 删除外键.png

    3. **禁用外键检查**:为了安全地删除外键,可以临时禁用外键检查。执行`SET FOREIGN_KEY_CHECKS = 0;`来实现这一操作。但这不是必需的,具体取决于你的数据库状态和更新策略。 4. **删除外键**:使用`ALTER TABLE`...

    MySQL删除外键问题小结

    有时,可能需要临时禁用外键检查以进行批量数据操作,然后再重新启用,以确保在操作期间不会因外键约束而中断。MySQL提供了`SET FOREIGN_KEY_CHECKS=0`和`SET FOREIGN_KEY_CHECKS=1`命令来实现这一功能。 总之,...

    mysql_约束的使用

    删除、禁用、启用约束、修改约束名的语法如下: ALTER TABLE table_name DROP CONSTRAINT constraint_name; DISABLE CONSTRAINT constraint_name; ENABLE CONSTRAINT constraint_name; ALTER TABLE table_name ...

    数据库原理实验八 数据库的完整性.doc

    外键约束可以使用`FOREIGN KEY`子句定义,并可设置`ON DELETE CASCADE`和`ON UPDATE CASCADE`来实现级联删除和更新,这样当父表中的记录被删除或修改时,子表的相关记录也会相应地更新或删除。 实验还包含了使用...

Global site tag (gtag.js) - Google Analytics