oracle删除指定用户下的table与Sequence

来源:互联网 发布:前锦网络信息技术校招 编辑:程序博客网 时间:2024/04/29 17:18
  1. -- 删除所有表  
  2.     declare owner_name varchar(20);  
  3.     cursor cur1 is select table_name from dba_tables where owner=owner_name;  
  4.     begin  
  5.         owner_name := 'SMTJ2012';   
  6.         for cur2 in cur1 loop  
  7.             execute immediate 'drop table '||owner_name||'.'||cur2.table_name;  
  8.         end loop;  
  9.     end;  
  10. -- 如果 dba_tables 没有权限的话可以使用 user_tables,上述cur1可以改成  
  11. -- select table_name from user_tables;  
  12. -- user_tables为owner为本用户的表,注意与dba_tables的区别  
  13.   
  14. -- 删除所有SEQ    
  15.     declare owner_name varchar(20);  
  16.     cursor cur1 is select sequence_name from user_sequences;  
  17.     begin  
  18.         owner_name := 'SMTJ2012';   
  19.         for cur2 in cur1 loop  
  20.             execute immediate 'drop sequence '||owner_name||'.'||cur2.sequence_name;  
  21.         end loop;  
  22.     end
0 0
原创粉丝点击