Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
2012-02-04 00:00
627 查看
--以下方法1,3本人试过,在sqlplus下最好用的删除,还原方法是: --把删除表,写成脚本: --************************ --**方法1 --************************ --在终端依次输入以下命令 sqlplus --输入需要删除的用户名 --输入密码 SET HEAD OFF SPOOL /tmp/database/drop_tables.sql --chr(13) ASCII中=换行 chr(10) ASCII中=回车 --delete tables select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables; --delete views select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views; --delete seqs select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences; --delete functions select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION'; --delete procedure select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE'; --delete package select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE'; --delete trigger SELECT 'drop TRIGGER "' ||SYS_CONTEXT('USERENV','CURRENT_USER')||'"."'|| TRIGGER_NAME ||'";' ||CHR(13) ||CHR(10)FROM USER_TRIGGERS spool off; @/tmp/database/drop_tables.sql; purge recyclebin; --清空Oracle的回收站 --例:(win下进行删除用户asus的所有表) sqlplus asus --用户名 asus --密码 SET HEAD OFF SPOOL c:/drop_tables.sql --保存为sql语句 --chr(13) ASCII中=换行 chr(10) ASCII中=回车 --delete tables select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables; --delete views select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views; --delete seqs select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences; --delete functions select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION'; --delete procedure select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE'; --delete package select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE'; --delete trigger SELECT 'drop TRIGGER "' ||SYS_CONTEXT('USERENV','CURRENT_USER')||'"."'|| TRIGGER_NAME ||'";' ||CHR(13) ||CHR(10)FROM USER_TRIGGERS spool off; @c:/drop_tables.sql; purge recyclebin; --清空Oracle的回收站 quit --退出sqlplus --完成 --然后再还原数据。 --imp maximo/maximo@orcl fromuser=maximo touser=maximo file=21时14分34秒.dmp tablespaces=tablespaces --************************ --**方法2 --************************ 1 select Drop table ||table_name||; from all_tables where owner=要删除的用户名(注意要大写); 2、 删除所有表 以用户test为例 for example: declare cursor cur1 is select table_name from dba_tables where owner=TEST; begin for cur2 in cur1 loop execute immediate drop table test.||cur2.table_name; end loop; end; 3、这个删除当前用户的所有对象(表、视图、触发器、存储过程、函数) DECLARE TYPE name_list IS TABLE OF VARCHAR2(40); TYPE type_list IS TABLE OF VARCHAR2(20); Tab_name name_list:=name_list(); Tab_type type_list:=type_list(); sql_str VARCHAR2(500); BEGIN 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; EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type; FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP sql_str := DROP || Tab_type(i) || || Tab_name(i); EXECUTE IMMEDIATE sql_str; END LOOP; END; --************************ --**方法3 --**使用Oracle SQL Developer --************************ --用需要删除的用户登入 --在工作表中输入以下内容
相关文章推荐
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- ORACLE - 删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包(转)
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle删除当前用户下的所有表、视图、序列、函数、存储过程、包
- Oracle: 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)
- Oracle: 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)
- oracle删除当前用户中所有对象(表,视图,触发器,存储过程,函数)
- Oracle 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)