Oracle 如何从用户一次删除所有内容,如表、包、索引、序列、LOB等等

Oracle 如何从用户一次删除所有内容,如表、包、索引、序列、LOB等等,oracle,plsql,Oracle,Plsql,我创建一个用户名为MD。不幸的是,我使用sqldeveloper将数据库从SYS复制到用户MD。因此,大量的表、索引、序列、对象等都被复制了。我想一次删除所有这些。我试图删除,但并非所有内容都必须删除。如果您已授予“删除用户”权限,则可以使用以下命令删除MD用户: DROP USER MD CASCADE; 并再次创建MD用户 否则,您可以使用以下select命令执行drop命令: SELECT 'DROP ' || T.OBJECT_TYPE || ' ' || T.OBJECT_NAME

我创建一个用户名为MD。不幸的是,我使用sqldeveloper将数据库从SYS复制到用户MD。因此,大量的表、索引、序列、对象等都被复制了。我想一次删除所有这些。我试图删除,但并非所有内容都必须删除。

如果您已授予“删除用户”权限,则可以使用以下命令删除MD用户:

DROP USER MD CASCADE;
并再次创建MD用户

否则,您可以使用以下select命令执行drop命令:

SELECT 'DROP ' || T.OBJECT_TYPE || ' ' || T.OBJECT_NAME || ';' || CHR(10) COMMANDS
FROM USER_OBJECTS T
WHERE T.OBJECT_TYPE IN ('TABLE', 'VIEW', 'PACKAGE', 'PACKAGE BODY', 'TRIGGER');
可以在where子句中添加或删除对象类型