declare
cursor c1 is select table_name from user_tables;
stmt varchar2(4000);
begin
for cc in c1 loop
BEGIN
stmt:='Truncate table'||cc.table_name;
dbms_output.put_line(stmt);
execute immediate stmt;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('error'||stmt);
end;
end loop;
end;
/
由于有外键关联关系的表不能直接Truncate
暂时先将外键关系改成cascade
然后将Truncate table 改为 delete
ORA-02266: 表中的唯一/主键被启用的外键引用
在删除有父子表关系的表的数据时,我们都知道要先删除子表再删除父表数据。或者先取消外键在删除。昨天采用先删字表在删父表,删除时使用truncate,结果在删除父表的时候,给出了这个提示:“表中的唯一/主键被启用的外键引用”。而改成delete则删除成功。网上给出的解释是ddl与dml 的区别。这也是truncate与delete的又一个不同之处
分享到:
相关推荐
### Oracle删除表中的重复数据方法 在Oracle中删除表中的重复数据,可以采用多种策略,但通常涉及创建一个临时表来保存去重后的数据,然后用这个临时表覆盖原始表。这种方法可以避免直接修改原表带来的风险,确保...
本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...
6. **创建定时任务删除数据**:使用DBMS_SCHEDULER,我们可以创建一个定时任务,定期运行删除过期数据的SQL脚本。例如,可以创建一个过程来删除旧的审计记录,然后将其添加到调度程序中。 7. **表分区和段压缩**:...
### Oracle 删除用户下所有表 在Oracle数据库管理中,有时候我们可能需要清除某个用户的全部数据,这包括该用户创建的所有表。但是需要注意的是,在执行此类操作时必须格外小心,因为一旦执行了删除命令,这些数据...
Oracle 表删除大量数据后查询变慢问题分析 在 Oracle 数据库中,如果删除了大量数据(千万级别),可能会出现查询变慢的问题。下面我们将分析这个问题的原因,并提供解决方案。 问题的原因主要有两个方面: 1. 表...
### 删除Oracle某个用户下所有数据 在Oracle数据库管理过程中,有时候我们需要清理某个用户下的所有数据。这可能是因为项目结束、测试环境重置或是其他原因导致的。为了完成这一任务,我们可以通过一系列SQL命令来...
1、使用存储过程的方法 2、使用游标的方法 3、进行对表数据的维护 4、执行表正确的CBO操作
### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在Oracle数据库管理中,误删除数据是一种常见的错误操作,可能导致重要的业务数据丢失。为了应对这种情况,Oracle提供了多种数据恢复的方法,包括闪回恢复...
Oracle 表删除大量数据后,即使表中只有几行记录,但用select count(*) from table 来查询发觉都不会马上出来,原因是该表的空间大了
### Oracle批量删除数据知识点 #### 一、Oracle批量删除数据的优势与限制 ##### 优势: - **删除速度快**:在Oracle数据库中,采用特定的方法进行批量删除数据时,可以显著提高处理速度。根据描述中的信息,批量...
在Oracle数据库管理中,删除数据表是一项常见的操作。然而,为了防止误删导致的数据丢失,Oracle引入了一个名为“回收站”(Recycle Bin)的功能。当用户执行DELETE或DROP命令时,默认情况下,被删除的对象不会立即...
在日常操作中,有时可能会发生误操作,如误删除数据或锁定问题,本篇文章将详细讲解如何在Oracle中恢复误删除数据以及解锁相关操作。 1. **恢复误删除数据** 当你不小心删除了数据库表中的数据时,Oracle提供了一...
一般的做法是直接删除表空间然后imp导入数据,但是我这边的情况是远程有一个web始终连着,为了免得每天还要去启动那个web服务,我就采用了这个做法,只删除表,这样不会断开连接,注意,这个web只是白天在用。...
### Oracle数据库误删除数据的不同恢复方法 #### 一、引言 在日常的数据库管理工作中,数据误删除是一个常见的问题。对于Oracle数据库来说,它提供了一系列强大的数据恢复工具和技术,帮助管理员快速有效地恢复误...
在Oracle数据库中,进行多表关联的批量插入、批量更新和批量删除操作是常见的数据库管理任务,尤其是在处理大量数据时,这些操作能显著提高效率并减少资源消耗。本文将详细探讨这三个方面,并通过实例代码来展示如何...
本篇文章将深入探讨Oracle数据库中物理删除数据文件的恢复方法,帮助你掌握这一关键的故障恢复技能。 首先,我们要理解数据文件物理删除的后果。一旦数据文件被物理删除,不仅文件本身消失,Oracle数据库可能无法...
Oracle数据库是世界上最广泛使用的数据库系统之一,用于存储和管理大量...通过正确地准备、脱机、处理依赖、删除数据文件,最终才能安全地删除表空间。在实际工作中,一定要根据具体的数据库环境和需求进行适当调整。
在Oracle数据库中删除两表中相同数据的方法是用到in语句,本文通过实例来讲解删除两表中相同数据的方法。
Oracle 定时删除数据 并释放空间 ,创建存储过程并使用job完成。