oracle删除指定用户所有表Oracle认证考试
文章作者 100test 发表时间 2009:11:28 16:04:29
来源 100Test.Com百考试题网
"gklt">
1、
0select Drop table ||table_name|| .
from all_tables
where owner= 要删除的用户名(注意要大写) .
2、
删除所有表
以用户test为例
for example:
declare
cursor cur1 is 0select table_name from dba_tables where owner= TEST .
begin
for cur2 in cur1 loop
execute immediate 0drop 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 := 0select 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.
编辑特别推荐:
oracle认证考试费用
查看修改ORACLE10G归档日志空间的限制