Oracle 删除用户所有对象的脚本
来源:互联网 发布:顶级域名的网站 编辑:程序博客网 时间:2024/04/30 00:19
对于测试数据库,经常会涉及到用户数据重新导入的情况,在不赋予用户创建和删除用户的前提下,普通用户也可以通过脚本来删除自己模式下的表、视图等对象。
下面是一个删除用户所有表的脚本:
DECLARECURSOR MYCURSOR IS SELECT TABLE_NAME FROM USER_TABLES;VTABLE_NAME VARCHAR2(60);sql_stmt varchar2(100);BEGINOPEN MYCURSOR;LOOPFETCH MYCURSOR INTO VTABLE_NAME;EXIT WHEN MYCURSOR%NOTFOUND;sql_stmt := 'drop table "'||VTABLE_NAME||'" cascade constraints';EXECUTE IMMEDIATE sql_stmt;END LOOP;CLOSE MYCURSOR;END;/
删除存储过程等对象:
DECLARECURSOR MYCURSOR IS SELECT NAME,TYPE FROM USER_SOURCE;vsource_name VARCHAR2(60);vsource_type VARCHAR2(60);sql_stmt VARCHAR2(100);BEGINOPEN MYCURSOR;LOOPFETCH MYCURSOR INTO vsource_name,vsource_type;EXIT WHEN MYCURSOR%NOTFOUND;sql_stmt := 'drop '||vsource_type||' "'||vsource_name||'"';EXECUTE IMMEDIATE sql_stmt;--dbms_output.put_line(sql_stmt);END LOOP;CLOSE MYCURSOR;END;/ quit;
通过光标循环操作,可以实现其它对象的删除。
DECLARECURSOR MYCURSOR IS SELECT SYNONYM_NAME FROM USER_SYNONYMS;VTABLE_NAME VARCHAR2(60);sql_stmt varchar2(100);BEGINOPEN MYCURSOR;LOOPFETCH MYCURSOR INTO VTABLE_NAME;EXIT WHEN MYCURSOR%NOTFOUND;sql_stmt := 'drop SYNONYM "'||VTABLE_NAME||'"';EXECUTE IMMEDIATE sql_stmt;END LOOP;CLOSE MYCURSOR;END;/
- Oracle 删除用户所有对象的脚本
- 【Oracle】删除用户下的所有对象
- oracle 删除用户下的所有用户对象
- Oracle基础知识--------------删除oracle当前用户下的所有对象
- Oracle 中如何删除一个用户拥有的所有对象
- ORACLE下删除当前用户下所有对象的SQL
- oracle中删除某个用户的所有对象
- oracle sql*plus - 删除当前用户的所有对象
- Oracle中删除用户下所有对象的多种方法
- Oracle中删除用户下所有对象的多种方法
- Oracle中删除用户下所有对象
- ORACLE删除某用户下所有对象
- oracle删除某用户下所有对象
- Oracle中删除用户下所有对象
- oracle-删除某用户下所有对象
- ORACLE删除某用户下所有对象
- Oracle中删除用户下所有对象
- oracle 导入导出数据库、删除用户以及该用户所有的对象
- Oracle表分区
- 精妙SQL
- select下拉框
- Extjs最新框架表单提交代码
- 白骨精学习法-阅读心得
- Oracle 删除用户所有对象的脚本
- 操作数据库总结1
- VC编程轻松获取局域网连接通知
- phpcms2008 代码简介:admin.php
- .NET : 监控ASP.NET应用程序的缓存使用内存数变化和命中情况
- 回调函数
- asp edition pagenation
- 转error 2001
- OracleDBConsoleorcl服务无法启动问