热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

数据库使用truncate清理很多表时碰到外键约束时怎么快速解决

问题处理思路:1.先将数据库中涉及到外键约束的表置为无效状态2.待清除完所有表数据后再将外键约束的表置为可用状态具体实现脚本:declarebeginforvv_sqlin(SELECTALTERTABLE||table_name||DISABLECONSTRAINT||CONSTRAINT_NAMEalter_sql

问题处理思路: 1. 先将数据库中涉及到外键约束的表置为无效状态 2.待清除完所有表数据后再将外键约束的表置为可用状态 具体实现脚本: declare begin for vv_sql in (SELECT ALTER TABLE || table_name || DISABLE CONSTRAINT || CONSTRAINT_NAME alter_sql

问题处理思路:

1. 先将数据库中涉及到外键约束的表置为无效状态

2.待清除完所有表数据后再将外键约束的表置为可用状态

具体实现脚本:

declare

begin

for vv_sql in (SELECT 'ALTER TABLE '|| table_name ||' DISABLE CONSTRAINT ' || CONSTRAINT_NAME alter_sql FROM USER_CONSTRAINTS

where CONSTRAINT_TYPE = 'R')

loop

execute immediate vv_sql.alter_sql;

end loop;

execute immediate 'truncate table 表名;

................. ---此处省略,可用写多个executesql语句

for vv_sql in (SELECT 'ALTER TABLE '|| table_name ||' ENABLE CONSTRAINT ' || CONSTRAINT_NAME alter_sql FROM USER_CONSTRAINTS

where CONSTRAINT_TYPE = 'R')

loop

execute immediate vv_sql.alter_sql;

end loop;

end;

/


推荐阅读
author-avatar
陌北从南_221
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有