删除当前用户数据库表
方法一(执行SQL语句)
/* 复制粘贴并执行下面语句的结果集*/SELECT 'DROP TABLE '|| table_name || ';' FROM USER_TABLES;
方法二(执行存储过程)
这种方法需要登录删除数据的用户执行。
DECLAREV_NAME ALL_TABLES.TABLE_NAME%TYPE;CURSOR MYCUR IS-- 要删除数据的用户名SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = UPPER('USERNAME');BEGINOPEN MYCUR;LOOPFETCH MYCURINTO V_NAME;EXIT WHEN MYCUR%NOTFOUND OR MYCUR%NOTFOUND IS NULL;EXECUTE IMMEDIATE 'drop table ' || V_NAME;END LOOP;CLOSE MYCUR;END;
删除用户
如果要删除的用户当前没有连接,则可以直接用下面语句删除;
如果要删除的用户当前存在连接,转到 Oracle删除当前连接用户
/* CASCADE 的意思是将用户的数据库数据一并删除,并没有删除相应的表空间!*/drop user user_name CASCADE;
删除表空间
/*查询所有表空间物理位置*/select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;
/*删除空的表空间,不包含物理文件*/drop tablespace tablespace_name;
/*删除非空表空间,不包含物理文件*/drop tablespace tablespace_name including contents;
/*删除非空表空间,包含物理文件*/drop tablespace tablespace_name including contents and datafiles;
/*如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS*/drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
如果觉得《Oracle 删除用户 删除当前用户的数据库表 删除表空间的过程》对你有帮助,请点赞、收藏,并留下你的观点哦!