本地测试数据库临时表太多无用,用循环删除表
1 declare 2 3 --i integer; 4 v_tablename varchar2(20); 5 v_sql varchar2(200); --定义表名 6 CURSOR emp_cursor IS select TABLE_NAME from user_tab_comments ;--游标 7 begin 8 --select TABLE_NAME from user_tab_comments --查询当前用户下表名 9 open emp_cursor ; --打开游标 10 loop --打开循环 11 FETCH emp_cursor into v_tablename ; --取值 12 EXIT WHEN emp_cursor%NOTFOUND; --判断游标循环 13 --dbms_output.put_line(v_tablename); --dbsm输出打印表名 14 v_sql:='drop table '|| v_tablename; --拼接删除表语句 drop 删除表空间,无需commit 15 dbms_output.put_line(v_sql); 16 execute immediate v_sql; --执行 sql语句 17 end loop; --标记循环结束 18 CLOSE emp_cursor; --关闭游标 19 end;