【问题标题】: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_OBJECTS 和SYS.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 对于每个重复参数只有一行。