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归档日志空间的限制



相关文章


熟练Oracle的Sql语句必做18道Oracle认证考试
Oracle触发器主键自动增长Oracle认证考试
如何修改数据库名(ORACLE)Oracle认证考试
oracle认证辅导:oracle多层游标嵌套Oracle认证考试
oracle删除指定用户所有表Oracle认证考试
oraclespatial空间数据表的初始化Oracle认证考试
Oracle循环向数据库中插入记录Oracle认证考试
OVER(PARTITIONBY..)及开窗函数Oracle认证考试
Oracle认证辅导:Oracle中表与视图的创建Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛