`
newlethe
  • 浏览: 83857 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

使用存储过程清空oracle中所有的表的数据

阅读更多
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使用。

    oracle定时删除表空间的数据并释放表空间

    1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件组成。每个表、索引和其他对象都会被分配到特定的表空间中。理解表空间的工作原理对于管理数据库空间至关...

    Oracle表删除大量数据(千万)后查询变慢问题(原因分析)

    在解决问题之前,首先需要使用 delete 语句删除大量数据,然后使用 truncate table 语句清空表空间。接着,使用 analyze table 语句重新分析表的统计信息,以便提高查询效率。 analyze 语句的作用是收集表的统计...

    oracle存储过程写法

    根据提供的Oracle存储过程示例,我们可以详细解析其中的关键知识点,包括存储过程的创建、游标的使用、临时表的创建及数据处理等。 ### 存储过程的创建与使用 存储过程是在数据库中编写的SQL代码块,它可以接受...

    oracle清空所有表数据

    在Oracle数据库管理中,清空所有表数据是一个常见的操作,特别是在进行数据清理、测试环境的重置或系统恢复时。以下是一种有效的方法,分为三个主要步骤来实现这一目标: 1. **删除所有外键约束**: 在Oracle...

    存储过程写九九乘法表

    ### 存储过程写九九乘法表 #### 背景介绍 在数据库操作中,存储过程是一种预编译的SQL代码集合,它可以接受输入参数、返回单个或多个结果集以及返回值。存储过程可以提高代码的重用性和执行效率,并且能够简化复杂...

    ORACLE中临时表

    Oracle中的临时表是一种特殊的数据结构,用于存储会话或事务期间的数据,这些数据仅对当前会话可见,并在特定条件下自动清除。Oracle提供两种类型的临时表:事务型和会话型。 事务型临时表在事务开始时创建,插入的...

    Oracle中临时表的创建

    局部临时表是一种只能在一个会话中使用的临时表,当会话结束时,所有的数据都会被自动删除。下面是如何创建一个局部临时表的例子: ```sql CREATE LOCAL TEMPORARY TABLE TempTable (id NUMBER, name VARCHAR2(50))...

    Oracle 临时表用法

    例如,某个报表中心的存储过程执行速度过慢,其中一个原因是该过程涉及到一个中间表,随着业务的发展,这个中间表的数据量逐渐增多,达到了数百万条记录,并且每天还会新增大约两万条记录。在更新中间表的某些字段时...

    oracle省市区单表数据SQL

    这里提供的"Oracle省市区单表数据SQL"是一个典型的例子,它展示了如何在Oracle数据库中使用单个表来存储国家、省份、城市和区的层级关系。这种设计方式有助于简化数据结构,提高查询效率,并便于维护。 首先,我们...

    Oracle数据库删除表中重复记录的方法三则.txt

    具体步骤包括创建一个临时表存储去重后的数据、清空原表、将去重后的数据重新插入到原表中。 **SQL示例代码:** ```sql CREATE TABLE temp_emp AS SELECT DISTINCT * FROM employee; TRUNCATE TABLE employee; ...

    oracle临时表用法

    Oracle 临时表用法 Oracle 临时表是一种特殊的表结构,它可以在数据库中临时存储...但是,使用临时表时需要注意一些问题,例如避免在存储过程中创建临时表,避免在运行时创建临时表,以免导致数据库中的表数量增加。

    delphi中调用oracle的存储过程.pdf

    在 Delphi 中调用 Oracle 存储过程是数据库应用程序开发中的常见操作,特别是在报表解决方案中。本篇将详细介绍如何在 Delphi 中利用 ADODataSet 调用 Oracle 的存储过程,涉及分带返回游标和不返回值两种情况。 ...

    oracle临时表(事务级、会话级).docx

    当会话或事务结束时,临时表中的数据自动清空,但是临时表的结构和元数据还存储在用户的数据字典中。 会话级临时表 会话级临时表是指临时表中的数据只在会话生命周期中存在,当用户退出会话结束的时候,Oracle ...

    oracle中如何删除重复数据

    在Oracle数据库中,删除重复数据是一项常见的数据清洗任务,尤其当表设计不当时,重复数据可能导致数据不一致和分析错误。以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。...

    jeesite全国省市区地图编码表数据(Oracle和Mysql)

    《全国省市区地图编码表数据在Oracle和Mysql中的应用》 在信息技术领域,数据库管理是核心部分之一,尤其在企业级应用中,正确、高效的数据存储与管理至关重要。Jeesite是一个广受欢迎的Java企业级开发框架,它提供...

    Oracle回收站空间清空.doc

    3. 清空回收站中的某个表:使用 PURGE 语句清空回收站中的某个表,例如:PURGE TABLE "BIN$0iJ7/rWFQrSGdZexvGv3qQ==$0"; 4. 恢复回收站:使用 FLASHBACK 语句恢复回收站中的表和对象,例如:FLASHBACK TABLE "BIN$...

    oracle查询表碎片

    在Oracle数据库管理与优化的过程中,了解并处理表碎片是非常重要的一个环节。本文将详细介绍如何通过SQL查询来检测Oracle表的碎片情况,并对给出的SQL查询语句进行深入解析。 #### 一、Oracle表碎片概念 在Oracle...

    Oracle与Access表之间的导入和导出

    它首先打开与 Access 的 ODBC 连接,然后清空 Oracle 中的 "student" 表,接着将 Oracle 中的数据逐条插入到 Access 中。如果在执行过程中发生错误,它将捕获异常并显示错误信息。 1. 打开与 Access 的 ODBC 连接。...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    此时,表`original_tableName`并未真正消失,而是被存储在回收站中。可以通过查询`USER_RECYCLEBIN`视图查看已删除的对象: ```sql SELECT object_name, type, original_name FROM user_recyclebin; ``` ##### 3. ...

Global site tag (gtag.js) - Google Analytics