今天在与项目中的合作单位合作时需要提供我们的算法给对方,后了解到他们直接在数据库中实现了算法.遂发现原来ORACLE中也可以执行java源码,虽然偶稀c#er,但是也不免好奇的做了如下测试:
1.在ORACLE数据库中创建功能类(实现签名):
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED TestSignName AS
public class SignName {
public static String sm_strSignName = "by simone";
public static String GetMessage(String orgStr) {
return orgStr += sm_strSignName;
}
}
2.利用功能类方法创建数据库函数:
CREATE OR REPLACE function goSignName(l_str varchar2) return string as language java name 'SignName.GetMessage(java.lang.String) return java.lang.String';
3.这样就可以在我们的查询中使用刚刚创建的签名函数了.
select GoSignName('ok.') from dual;