我知道可以使用命令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.