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 "用户名" QUOTA UNLIMITED ON SPACE_DATA(表空间名称);

--查看所有用户对象
select uo.object_name,uo.object_type from user_objects uo where uo.object_type<>‘LOB‘ order by uo.object_type desc

2、如果没有删除用户的权限,则可以执行:

select ‘drop table ‘||table_name||‘;‘ 
from cat 
where table_type=‘TABLE‘

将会输出一批删除表的sql语句,这些SQL语句执行一下就可以了。(需要有drop table的权限)

时间: 2024-10-23 21:50:30

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 删除当前用户下所有的表、索引、序列...

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||

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

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

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删除当前用户下所有表数据

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

PLSQL删除某用户下的全表

1.PLSQL登录A用户,并打开一个 SQL Window 窗口. 2.构建删除所有表的命令 select 'drop table '||table_name||' purge' from user_tables;    或    select 'drop table '||table_name||' ;' from user_tables; 注意:添加'purge'表示永久删除不可恢复 3.打开一个 Command Window 窗口,将上面构建的是所有SQL拷贝在该窗口下执行即可. 注:如有

Oracle查询当前用户下的所有表及sqlplus 设置 列宽

如果oracle服务器中装有多个数据库实例,则在用户名处输入:用户名/密码@数据库名称.如果数据库服务器不在本机上,还需要加上数据库服务器的地址:用户名/密码@IP地址/数据库名称. [[email protected] ~]$ sqlplus scott/[email protected]/prod SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 19:49:57 2017 Copyright (c) 1982, 2011, Orac

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_obj