如何批量删除oracle数据库中表?

想写一个批处理文件,批量删除pl/sql developer中的表,但是不知道怎么写bat文件,急啊,哪位好心高手帮帮忙!

先写一个sql文件,比如叫del_tables.sql,在sql文件里写DROP TABLE的命令(DROP的内容根据你的需要,可以是单独的多个DROP TABLE指令,也可能是从USER_TABLES里查询出若干表名),然后bat文件里写
sqlplus 用户名/密码@库名 @del_tables.sql

如果sql文件的内容需要帮助写,那请你给出你要删除的表名,或者表名的规律,比如TEMP为开头的所有表。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
  批量清空当前用户所有表的所有数据
  --@author YangL
  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;
  /
第2个回答  2012-12-04

oracle中如何删除所有表
1、如果想要删除相应的表格,那么首先要知道表格位于那个数据库,这样才可以进行删除。2、然后需要打开数据库,你会看到数据库内有很多表格。3、往下拉,我们自己新建的表格一般都是位于最末端,找到表格右击。4、右击选择“表”你会看到侧边栏会弹出“删除”点击他。5、这时会提示你是否删除表格,如果想要...

oracle 删除所有表和序列
不管是主机上还是客户端上,使用具备dba角色的用户登录到数据库的sqlplus环境,直接删除用户,就可以把该用户下的而所有对象都删除,包括表、序列。或者使用该用户登录到sqlplus,从user_tables和user_sequences视图中选出所有的表和序列,然后执行drop table ...和drop sequence ...来批量删除所有的表和...

怎么删除oracle表中的全部数据
truncate table 表名;delete from 表名 where 条件;两种方法的区别:truncate,意思为截断表,能够不占用资源的全部删除表,优点是速度快,缺点是删除不能恢复,不能按条件删除。delete,意思为删除,此操作占用redolog,优点能够快速恢复和选择删除,缺点是删除慢,大批量的删除不建议使用。

怎么批量的删除数据库中的表中的数据
这个问题你可能通过查询oracle的系统表,例如all_all_tables,用这些对象的列表生成一批数据库删除对象的语句,然后将这些语句存到文件,用sqlplus的文件参数执行这一批语句。

Oracle总结【视图、索引、事务、用户权限、批量操作】
删除操作在Oracle中分为三种主要方式:DROP TABLE用于删除整个表,TRUNCATE TABLE用于快速删除表中所有数据但保留表结构,而DELETE FROM用于逐条删除满足条件的记录。TRUNCATE TABLE的效率更高,但不能回滚操作。事务管理在数据库操作中至关重要,确保数据的一致性和完整性。在Oracle中,事务开始、提交和回滚的...

怎么用PL SQL 删除oracle用户下全部表
注意不能删除数据库关键表。或者重建数据库实例。将这个实例删除即可。建议,以后工作或是学习,狗不要使用system导入表或者建立数据库对象。system是数据库管理员,做管理的用户,可以通过新建用户,来完成你要做的事,通过system来为其赋权限等等。这样就不会出现你现在的困扰了。希望对你有帮助。

oracle上亿表海量数据进行大批量数据删除有什么好的解决方案
(3)实在不能truncate,只能delete那么建议找个字段循环删除提交,每次不能太多,最好保持在5万以下(根据实际情况具体判断),毕竟delete是最消耗资源的dml语句。(4)如果可能的话,不要同一时间操作,分批操作,这样能减少一部分数据库负载压力(特别是undo)。(5)一定要闲时操作,因为delete消耗资源...

Oracle总结【视图、索引、事务、用户权限、批量操作】
数据操作利器DML (数据操作语言): Oracle支持select(数据查询)、insert(数据插入)、update(数据更新)和delete(数据删除)操作,是数据管理的基础。DDL (数据定义语言): 包括create(创建)、alter(修改)和drop(删除)对象,如表或视图,以及不可回滚的truncate操作,如删除表中的所有记录。DCL (...

怎么使用SQL语句批量删除多个表的相同字段
不过做法肯定是一样,用两个游标,第一个游标从数据字典中检索出所有的表,第二个游标从每个表中检索所有的字段,然后遇到有要和你删除名称相同的字段的时候,执行alter table tablename drop column columnname的操作。不过这个执行不能直接这么执行,而是设置一个字符串的变量,例如SQLSERVER,需要@delsql...

oracle执行删除很久怎么中断
要中断Oracle的删除操作,可以使用以下方法:1. 使用CTRL+C:在命令行窗口中执行删除操作时,可以按下CTRL+C组合键来中断正在执行的命令。这将立即停止删除操作,并返回命令行提示符。2. 使用KILL命令:如果删除操作在后台执行,您可以使用KILL命令来终止该进程。首先,使用ps命令查找正在运行的删除进程的...

相似回答