龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle删除用户表的实际操作应用

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
以下的文章主要讲述的是 Oracle 删除用户表的实际操作方案,本文主要是以相关实际应用代码的方式来引出其实际的操作步骤,以下就是文章的具体内容描述,望你在浏览之后会有所收

以下的文章主要讲述的是Oracle删除用户表的实际操作方案,本文主要是以相关实际应用代码的方式来引出其实际的操作步骤,以下就是文章的具体内容描述,望你在浏览之后会有所收获。

1、

  1. select 'Drop table '||table_name||';'  
  2. from all_tables  
  3. where owner='要删除的用户名(注意要大写)';  

2、

Oracle删除用户表

以用户test为例

  1. for example:  
  2. declare  
  3. cursor cur1 is select table_name from dba_tables where owner='TEST';  
  4. begin  
  5. for cur2 in cur1 loop  
  6. execute immediate 'drop table test.'||cur2.table_name;  
  7. end loop;  
  8. end;  

3、这个删除当前用户的所有对象(表、视图、触发器、存储过程、函数)

  1. DECLARE  
  2. TYPE name_list IS TABLE OF VARCHAR2(40);  
  3. TYPE type_list IS TABLE OF VARCHAR2(20);  
  4. Tab_name name_listname_list:=name_list();  
  5. Tab_type type_listtype_list:=type_list();  
  6. sql_str VARCHAR2(500);  
  7. BEGIN  
  8. sql_str := 'select uo.object_name,
    uo.object_type from user_objects uo where uo.object_type not 
    in(''INDEX'',''LOB'
    ') order by uo.object_type desc';  
  9. EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;  
  10. FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP  
  11. sql_str :'DROP ' || Tab_type(i) || ' ' || Tab_name(i);  
  12. EXECUTE IMMEDIATE sql_str;  
  13. END LOOP;  
  14. END;   

上述的相关内容就是对Oracle删除用户表的描述,希望会给你带来一些帮助在此方面。

精彩图集

赞助商链接