代码之家  ›  专栏  ›  技术社区  ›  David Oneill

Oracle:获取用户的函数列表

  •  4
  • David Oneill  · 技术社区  · 16 年前

    如何获取特定用户的所有函数的列表?

    当(作为USER1)我运行

    select * from all_objects
    where owner = 'USER2'
    and object_type = 'FUNCTION';
    

    另外,如果这是真的,有没有办法绕过这个问题?

    3 回复  |  直到 16 年前
        1
  •  4
  •   Dave Costa    16 年前

    是的,你的怀疑是对的。“所有对象”视图将只列出当前用户有权访问的项目。

    如果可以以USER2身份登录,则可以以该用户的身份查询用户\u对象,以查看该用户拥有的所有对象。

    如果您不能以有权访问USER2的所有对象的用户身份登录,那么就不能列出USER2的所有对象。

        2
  •  3
  •   Tony Andrews    16 年前

    如果您指的是属于特定用户的函数列表,则:

    select object_name
    from   all_objects
    where  owner = 'WHOEVER'
    and    object_type = 'FUNCTION';
    

    这将只返回独立函数,而不返回属于模式“wherever”的过程或包中的函数。

    获取列表 全部的

    select object_name
    from   all_objects
    where  object_type = 'FUNCTION';
    
        3
  •  0
  •   ashutosh5111    11 年前

    从dba\U对象中选择* 其中owner='USER2'