Oracle内置函数元数据

时间:2012-03-30 09:36:19

标签: sql oracle oracle10g oracle11g aggregate-functions

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

SYS.ALL_OBJECTS视图中,我找不到任何有用的内容。我还尝试通过object_name在SYS.ALL_ARGUMENTS视图中搜索。

是否有包含内置函数的视图或表格,其数据类似于SYS.ALL_OBJECTSSYS.ALL_ARGUMENTS

2 个答案:

答案 0 :(得分:5)

您已标记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对于每个重复参数只有一行。

答案 1 :(得分:3)

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

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