我想查看每个用户显示的对象列表,但没有一个是可见的SQL*Plus。

问题描述 投票:0回答:1

我被告知要运行这段代码来查看显示的对象列表。

SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OWNER = ‘sam';

当我运行它时,我得到这个错误

ORA-00904: "OWNER": invalid identifier

然而,我能够运行这个,它的工作原理是

SELECT OBJECT_NAME,OBJECT_TYPE FROM USER_OBJECTS WHERE OBJECT_NAME NOT LIKE ‘BIN%’;

我的目的是查看每个角色被分配的对象列表。我使用的是Oracles SQL Plus 18G。

谢谢你

sql database oracle syntax sqlplus
1个回答
2
投票

首先,清除recyclebin以避免 BIN% 对象(删除的)。

SQL> purge recyclebin;

Recyclebin purged.

现在,查询:如果你从 user_objects,有没有 OWNER 栏目有。有在 all_objects因为在我的XE数据库中,这样的查询会返回大约7.300个对象,所以限制结果是有意义的。

    SQL> select owner, object_name, object_type
      2  from all_objects
      3  order by owner, object_name;

    OWNER      OBJECT_NAME          OBJECT_TYPE
    ---------- -------------------- --------------------
    PUBLIC     DUAL                 SYNONYM
    PUBLIC     MAP_OBJECT           SYNONYM
    PUBLIC     SYSTEM_PRIVILEGE_MAP SYNONYM
    PUBLIC     TABLE_PRIVILEGE_MAP  SYNONYM
    SYS        DUAL                 TABLE
    SYS        ORA$BASE             EDITION
    SYS        SYSTEM_PRIVILEGE_MAP TABLE
    SYS        TAB$                 TABLE
    SYS        TABLE_PRIVILEGE_MAP  TABLE
    <snip>
    XDB        XMLINDEX             INDEXTYPE
    XDB        XMLINDEXINSFUNC      FUNCTION
    XDB        XMLINDEXLOADFUNC     FUNCTION
    XDB        XMLINDEX_NOOP        OPERATOR

    7323 rows selected.

默认情况下,除非你在创建userobjects时使用双引号,否则Oracle会用大写字母 "存储 "一切。所以,我的XE数据库中,这样的查询结果是有意义的,因为我的XE数据库中,这样的查询返回了大约7.300个对象:默认情况下,除非你在创建userobject时使用双引号,否则Oracle会 "存储 "所有的东西都是大写的。'sam' 在您的数据库中并不存在,但 'SAM' 确实如此。所以。

SQL> select owner, object_name, object_type
  2  from all_objects
  3  where owner = 'SAM'                --> uppercase in single quotes
  4  order by owner, object_name;

no rows selected

SQL>

我没有用户 SAM 所以什么都没有被返回,但应该在你的数据库中。如果没有,答案很简单:用户 SAM 没有任何对象。


0
投票

尝试使用适当的引号,但总体上表名是ALL_OBJECTS。

USER_OBJECTS是实际用户的视图,没有所有者列。

    SELECT OWNER,OBJECT_NAME,OBJECT_TYPE 
    FROM ALL_OBJECTS 
    WHERE OWNER = 'sam'

https:/docs.oracle.comcdB19306_01server.102b14200sql_elements003.htm。https:/docs.oracle.comcdB19306_01server.102b14237statviews_4378.htm#i1634422。

© www.soinside.com 2019 - 2024. All rights reserved.