99网
您的当前位置:首页Oracle 中的operator操作

Oracle 中的operator操作

来源:99网

Oracle 中的operator操作简单来讲就类似与C++或JAVA等语言中的函数重载

创建两个测试函数

CREATE OR REPLACE FUNCTION Op_test1(a IN INTEGER,b IN INTEGER)
  RETURN INTEGER AS
  BEGIN
    RETURN (a+b);
  END;
CREATE OR REPLACE FUNCTION Op_test2(a IN VARCHAR2,b IN VARCHAR2)
  RETURN VARCHAR2 AS
  BEGIN
    RETURN (a||b);
  END;

创建一个operator,绑定上述两个函数

调用的函数可以是 :

【Standalone functions】
【Package functions】
【User-defined type member methods】

CREATE OR REPLACE OPERATOR optest BINDING 
  (INTEGER,INTEGER) RETURN INTEGER
  USING Op_test1,
  (VARCHAR2,VARCHAR2) RETURN VARCHAR2 
  USING Op_test2;

调用测试

operator的调用可以是:

【the select list of a SELECT command】
 【the condition of a WHERE clause】
【the ORDER BY and GROUP BY clauses】

SQL> SELECT optest(1,2) FROM dual;

OPTEST(1,2)
--------------------------------
          3

SQL> SELECT optest('a','b') FROM dual;

OPTEST('A','B')
--------------------------------
ab

SQL>

因篇幅问题不能全部显示,请点此查看更多更全内容