直接使用java在Oracle数据库中创建函数

我知道可以使用命令CREATE JAVA在oracle数据库中创建java函数 – 查看here.我已经阅读了很多关于如何执行此操作的内容,但是我阅读的内容越多,看起来就越多.

我想做的很简单.由于我已经非常熟悉Java,所以我不想学习PL / SQL,特别是我正在研究的项目相当小.我也不想用这个功能搞得太多,我想要做的就是以下内容:

1)在连接到数据库时声明一个函数,如:

CREATE JAVA AS 
    public class Example{
        public static bool returnTrue() {
            return true;
        }
    }

2)然后在连接时调用该函数,如:

SELECT Example.returnTrue() FROM DUAL;

这可能吗?
怎么样?

解决方法:

不可能,你需要另一步:

(请注意,您无法在SQL可调用函数中返回布尔类型.您必须返回有效的Oracle SQL类型,在此示例中为String).

创建你的功能:

create or replace and compile java source named returntrue as
public class example
{ public static String returnTrue() { return "TRUE"; } };

你必须创建一个PL / SQL“包装器”来连接java函数和PL / SQL:

SQL>     CREATE OR REPLACE FUNCTION returnTrue
  2      RETURN VARCHAR2
  3      AS LANGUAGE JAVA
  4      NAME 'example.returnTrue() return java.lang.String';
  5  /


Function created

SQL> select returntrue from dual;

RETURNTRUE
--------------------------------------------------------------------------------
TRUE

更多信息在Oracle documentation.

上一篇:java – statement.execute()在PL / SQL结束时返回Slash错误


下一篇:Oracle DBMS_PROFILER 的使用方式