create or replace procedure del_all is
begin
--禁用所有主外键
for c in (select t.constraint_name, t.table_name
from USER_CONSTRAINTS t
where t.constraint_type = 'R') loop
EXECUTE IMMEDIATE 'alter table '||c.table_name||' DISABLE CONSTRAINT '|| c.constraint_name;
end loop;
--truncate table 清空所有表
for c1 in (select table_name from user_tables ) loop
EXECUTE IMMEDIATE 'truncate table ' || c1.table_name;
end loop;
--启用所有主外键
for c2 in (select t.constraint_name, t.table_name
from USER_CONSTRAINTS t
where t.constraint_type = 'R') loop
EXECUTE IMMEDIATE 'alter table ' || c2.table_name || ' ENABLE CONSTRAINT ' || c2.constraint_name;
end loop;
end del_all;
分享到:
相关推荐
清空删除所有表和存储过程,可迅速实现数据库的清空。而不用管其它主从关联关系。方便DBA使用。
1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件组成。每个表、索引和其他对象都会被分配到特定的表空间中。理解表空间的工作原理对于管理数据库空间至关...
在解决问题之前,首先需要使用 delete 语句删除大量数据,然后使用 truncate table 语句清空表空间。接着,使用 analyze table 语句重新分析表的统计信息,以便提高查询效率。 analyze 语句的作用是收集表的统计...
根据提供的Oracle存储过程示例,我们可以详细解析其中的关键知识点,包括存储过程的创建、游标的使用、临时表的创建及数据处理等。 ### 存储过程的创建与使用 存储过程是在数据库中编写的SQL代码块,它可以接受...
在Oracle数据库管理中,清空所有表数据是一个常见的操作,特别是在进行数据清理、测试环境的重置或系统恢复时。以下是一种有效的方法,分为三个主要步骤来实现这一目标: 1. **删除所有外键约束**: 在Oracle...
### 存储过程写九九乘法表 #### 背景介绍 在数据库操作中,存储过程是一种预编译的SQL代码集合,它可以接受输入参数、返回单个或多个结果集以及返回值。存储过程可以提高代码的重用性和执行效率,并且能够简化复杂...
Oracle中的临时表是一种特殊的数据结构,用于存储会话或事务期间的数据,这些数据仅对当前会话可见,并在特定条件下自动清除。Oracle提供两种类型的临时表:事务型和会话型。 事务型临时表在事务开始时创建,插入的...
局部临时表是一种只能在一个会话中使用的临时表,当会话结束时,所有的数据都会被自动删除。下面是如何创建一个局部临时表的例子: ```sql CREATE LOCAL TEMPORARY TABLE TempTable (id NUMBER, name VARCHAR2(50))...
例如,某个报表中心的存储过程执行速度过慢,其中一个原因是该过程涉及到一个中间表,随着业务的发展,这个中间表的数据量逐渐增多,达到了数百万条记录,并且每天还会新增大约两万条记录。在更新中间表的某些字段时...
这里提供的"Oracle省市区单表数据SQL"是一个典型的例子,它展示了如何在Oracle数据库中使用单个表来存储国家、省份、城市和区的层级关系。这种设计方式有助于简化数据结构,提高查询效率,并便于维护。 首先,我们...
具体步骤包括创建一个临时表存储去重后的数据、清空原表、将去重后的数据重新插入到原表中。 **SQL示例代码:** ```sql CREATE TABLE temp_emp AS SELECT DISTINCT * FROM employee; TRUNCATE TABLE employee; ...
Oracle 临时表用法 Oracle 临时表是一种特殊的表结构,它可以在数据库中临时存储...但是,使用临时表时需要注意一些问题,例如避免在存储过程中创建临时表,避免在运行时创建临时表,以免导致数据库中的表数量增加。
在 Delphi 中调用 Oracle 存储过程是数据库应用程序开发中的常见操作,特别是在报表解决方案中。本篇将详细介绍如何在 Delphi 中利用 ADODataSet 调用 Oracle 的存储过程,涉及分带返回游标和不返回值两种情况。 ...
当会话或事务结束时,临时表中的数据自动清空,但是临时表的结构和元数据还存储在用户的数据字典中。 会话级临时表 会话级临时表是指临时表中的数据只在会话生命周期中存在,当用户退出会话结束的时候,Oracle ...
在Oracle数据库中,删除重复数据是一项常见的数据清洗任务,尤其当表设计不当时,重复数据可能导致数据不一致和分析错误。以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。...
《全国省市区地图编码表数据在Oracle和Mysql中的应用》 在信息技术领域,数据库管理是核心部分之一,尤其在企业级应用中,正确、高效的数据存储与管理至关重要。Jeesite是一个广受欢迎的Java企业级开发框架,它提供...
3. 清空回收站中的某个表:使用 PURGE 语句清空回收站中的某个表,例如:PURGE TABLE "BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0"; 4. 恢复回收站:使用 FLASHBACK 语句恢复回收站中的表和对象,例如:FLASHBACK TABLE "BIN$...
在Oracle数据库管理与优化的过程中,了解并处理表碎片是非常重要的一个环节。本文将详细介绍如何通过SQL查询来检测Oracle表的碎片情况,并对给出的SQL查询语句进行深入解析。 #### 一、Oracle表碎片概念 在Oracle...
它首先打开与 Access 的 ODBC 连接,然后清空 Oracle 中的 "student" 表,接着将 Oracle 中的数据逐条插入到 Access 中。如果在执行过程中发生错误,它将捕获异常并显示错误信息。 1. 打开与 Access 的 ODBC 连接。...
此时,表`original_tableName`并未真正消失,而是被存储在回收站中。可以通过查询`USER_RECYCLEBIN`视图查看已删除的对象: ```sql SELECT object_name, type, original_name FROM user_recyclebin; ``` ##### 3. ...