2017-10-06 119 views
2

我一直在绞尽脑汁,但我无法找到一种方法来检索Toad或SQL Developer中的操作符定义。如何在oracle中获取用户定义的操作符

我们在我们的支持应用程序数据库中有一个用户定义的运算符,我可以在all_objects字典中看到它,但我无法检索它的定义。

有没有办法做到这一点?

我已经通过了oracle文档,但我似乎无法找到关于操作符的任何信息,除了如何创建一个。

Oracle Link 1

Oracle Link 2

回答

3

只需使用dbms_metadata包,具体get_ddl()函数来提取DDL操作员,你会用它来提取DDL表,视图和其它数据库对象:

这里是一个例子:

create or replace function multf(
    arg1 in number, 
    arg2 in number 
) return number 
is 
begin 
    return arg1 * arg2; 
end; 
/

create or replace operator mult 
    binding (number, number) 
    return number 
    using multf; 
/


select dbms_metadata.get_ddl('OPERATOR', 'MULT') 
    from dual 

结果的查询:

OP_DDL                   
-------------------------------------------------------- 

    CREATE OR REPLACE OPERATOR "NK"."MULT" BINDING 
    (NUMBER, NUMBER) RETURN NUMBER 
     USING "MULTF"  
+0

这正是我正在寻找的,它的工作..谢谢! :) – AngelicCore

相关问题