如何批量删除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
相似回答