【问题标题】:Oracle built-in functions metadataOracle 内置函数元数据
【发布时间】:2012-04-13 23:44:27
【问题描述】:

有没有办法获取 Oracle 内置 aggeregate 和其他函数(例如 AVG, STDDEV, SQRT, 等)的元数据? 我需要知道对象 id 和参数元。

SYS.ALL_OBJECTS 视图中,我找不到任何有用的东西。我还尝试按 object_name 在 SYS.ALL_ARGUMENTS 视图中搜索。

是否存在具有类似于SYS.ALL_OBJECTSSYS.ALL_ARGUMENTS 数据的内置函数的视图或表?

【问题讨论】:

    标签: sql oracle oracle10g oracle11g aggregate-functions


    【解决方案1】:

    直接的 SQL(非聚合)内置函数可以在 SQL*Plus 中的 Oracle10g 中通过发出describe SYS.STANDARD 来描述。

    SQL> desc sys.standard;
    FUNCTION  SYS$DSINTERVALSUBTRACT RETURNS INTERVAL DAY TO SECOND
     Argument Name                  Type                    In/Out Default?
     ------------------------------ ----------------------- ------ --------
     LEFT                           TIMESTAMP               IN
     RIGHT                          TIMESTAMP               IN
    FUNCTION  SYS$DSINTERVALSUBTRACT RETURNS INTERVAL DAY TO SECOND
     Argument Name                  Type                    In/Out Default?
     ------------------------------ ----------------------- ------ --------
     LEFT                           TIMESTAMP WITH TIME ZONE IN
     RIGHT                          TIMESTAMP WITH TIME ZONE IN
    

    ...为简洁起见

    FUNCTION VSIZE RETURNS NUMBER
     Argument Name                  Type                    In/Out Default?
     ------------------------------ ----------------------- ------ --------
     E                              DATE                    IN
    FUNCTION VSIZE RETURNS NUMBER
     Argument Name                  Type                    In/Out Default?
     ------------------------------ ----------------------- ------ --------
     E                              VARCHAR2                IN
    FUNCTION XOR RETURNS BOOLEAN
     Argument Name                  Type                    In/Out Default?
     ------------------------------ ----------------------- ------ --------
     LEFT                           BOOLEAN                 IN
     RIGHT                          BOOLEAN                 IN
    

    【讨论】:

      【解决方案2】:

      您已标记 Oracle 10g,but from what I can find,您需要 Oracle 11g r1 来查找有关内置 SQL 函数的元数据。

      您可以使用动态性能视图V$SQLFN_METADATA(具有一般元数据)和V$SQLFN_ARG_METADATA(具有关于参数的元数据)查看 SQL 内置函数的元数据。

      您可以在 FUNCID 列上加入这些视图。对于具有无限参数的函数,例如 LEAST 和 GREATEST,V$SQLFN_ARG_METADATA 对于每个重复参数只有一行。

      【讨论】:

      • 谢谢。这正是我想要的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多