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



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;

时间: 2024-12-27 14:23:38

Oracle 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)的相关文章

Oracle删除当前用户下的所有表或数据

create or replace procedure pro_droptable is cursor cur is select table_name from user_tables; drop_sql varchar2(1000); begin for tbname in cur loop begin drop_sql:='drop table '||tbname.table_name;--将drop修改为truncate即可删除所有表的数据 execute immediate drop_

ORACLE删除当前用户下所有的表的方法

1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户.--创建管理员用户create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespace space_temp(临时表空间名称);--授权grant connect,dba to 用户名;--修改限额ALTER USER "

oracle 删除当前用户下所有的表、索引、序列...

select 'drop table "' || table_name ||'";'||chr(13)||chr(10) from user_tables;  --delete tables select 'drop view "' || view_name||'";'||chr(13)||chr(10) from user_views;  --delete views select 'drop sequence "' || sequence_name||

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

 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_obj

Oracle 删除某个用户下的所有对象,执行需谨慎

在PL/sql中,点"新建"->"命令窗口"->粘贴后直接执行 --删除某个用户下的对象set heading off;set feedback off;spool d:/dropobj.sql; prompt --Drop constraint select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where

oracle查询当前用户下所有的表,包括所有的字段

oracle查询当前用户下所有的表,包括所有的字段 背景: ? 前两天接到一个需求,做一个展示所有表名,表备注,表数据,表字段数,点击查看按钮查看字段名和注释,支持导出. 在Oracle中,可用使用视图USER_TABLES查看当前用户有哪些表,都有多少数据: table_name:表名,field_num:表字段数,comments:表注释,count_rows(table_name):统计表数据 SELECT * FROM USER_TABLES; USER_TAB_COLUMNS:表中的所

oracle删除某个用户时报错:无法删除已连接用户

1.锁定要删除的用户(以KAVINS用户为例) alter user KAVINS account lock; 2.查看当前用户占用资源 SELECT SID, SERIAL#, USERNAME, STATUS FROM V$SESSION WHERE USERNAME = 'KAVINS'; 3,执行以下语句,删除2中查询结果status为INACTIVE 的记录 alter system kill session 'sid,serial#'; 例:alter system kill ses

Oracle删除当前用户下所有表数据

declare cursor cur is select table_name from user_tables; currow cur%rowtype; str varchar(2000); begin for currow in cur loop str:='truncate table '||currow.table_name; execute immediate str; dbms_output.put_line(str); end loop; end;

oracle、sql developer 删除某用户下所有的表

1.在sql developer内 select 'drop table "'||table_name||'";'   from cat   where table_type='TABLE' 2.将结果集拷贝到 sql窗口里执行 原文出处:https://blog.csdn.net/xiaoliuyiting/article/details/84288873 原文地址:https://www.cnblogs.com/sucretan2010/p/11406591.html