www.7671.net > orAClE清空表

orAClE清空表

两种方式:1、delete from 表名;2、truncate table 表名;1可以删除全部数据,也可以根据条件删除数据;2只能删除全部数据,比1速度要快.

建立分区,将需要删除的数据存在特定分区里,删除该分区就可以了. alter table 表名 drop partition 分区名 ; 应该很快.

B/C 均可以.B 删除速度快,不做任何记录.C 删除数据会留下删除记录,所以执行速度较慢.根据实际需要进行选择,但选取任何一个都不算错

如果是清空用户下所有对象可以直接删用户,如果只是想删除所有表,可利用系统视图自己写一段代码循环删除,如果是想清空用户下所有表数据,也是可以系统视图写,可自由发挥,如样例脚本:-- 禁用外键约束 begin for v_sql in (select 'alter

一个游标加一个 execute immediate 就可以具体我给你写出来吧 --@author WFQ declare v_sql varchar2(2000) ; CURSOR cur is select table_name from user_tables order by table_name ; begin for rows in cur loop v_sql := 'TRUNCATE TABLE ' || rows.table_name ; dbms_output.put_line(v_sql); execute immediate v_sql ; end loop; end; /

删除表里面的数据:delete table 表名; Oracle会记录日志,可恢复 速度慢 truncate table 表名; 不记录日志,速度快,不可恢复 drop table 表名; 直接删除掉表

可以使用以下3种方式实现:1、如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可.2、如果有删除用户的权限,则可以写: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉.3、如果没有删除用户的权限,则可以执行: select 'drop table '||table_name||';' from cat where table_type='TABLE'

如果是全清空,下面这几个方法你都可以选择:传统的delete 速度慢,不是放空间,Oracle有写入日志,可以恢复,但是速度慢delete from table_name;truncate table talbe_name; --速度快,释放空间,但是不记录日志,不可恢复先备份下表结构,然后表结构连同数据都一起删掉,之后重建表,表结构记录下后:drop table table_name; 然后重建

你这种问题首先要考虑所属用户和事务的问题 delete删除数据,不释放表空间 truncate删除数据,释放表空间 以上两个只能删除数据,不能删除表结构 drop可以删除表结构,也会释放表空间

这个比较简单了,1、先确认你已经以dba的身份登录了,user/password@database as sysdba2、drop table scott.tableName当然,还要注意看看是否有外键约束,其实还有更简单的操作方式,3、直接用oracle的可视化操作工具,在oracle中进入enterprise manager console4、toder 这个是oracle管理工具,下载一个就可以方便操作了

网站地图

All rights reserved Powered by www.7671.net

copyright ©right 2010-2021。
www.7671.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com