如何在oracle中获取用户定义的操作符
问题描述:
我一直在绞尽脑汁,但我无法找到一种方法来检索Toad或SQL Developer中的操作符定义。如何在oracle中获取用户定义的操作符
我们在我们的支持应用程序数据库中有一个用户定义的运算符,我可以在all_objects字典中看到它,但我无法检索它的定义。
有没有办法做到这一点?
我已经通过了oracle文档,但我似乎无法找到关于操作符的任何信息,除了如何创建一个。
答
只需使用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"
这正是我正在寻找的,它的工作..谢谢! :) – AngelicCore