下面的查询将删除当前用户A的架构(正常情况)中存在的所有表。
select 'drop '||object_type||' '|| object_name || ';'
from user_objects
where object_type in ('VIEW','PACKAGE','SEQUENCE', 'PROCEDURE', 'FUNCTION', 'INDEX');
Run Code Online (Sandbox Code Playgroud)
但是,如果该查询由具有SYS或SYSDBA登录名的DBA运行,该怎么办?使用sys / sysdba用户登录时,user_objects视图中存在哪些对象?它会删除数据库中所有模式的所有表,还是查询会引发错误?目的是仅删除模式“ A”的对象。