Java怎么编写Oracle存储过程
通常我们都使用Ps/SQL为Oracle编写存储过程,从Oracle 8开始我们可以有另一种选择:Java。8.0开始,Oracle自带一个JVM,内置对Java的支持,任何Java能做的事情你都可以放到Oracle里面来做,你甚至可以在里面操作db2。这让Oracle具备了极其巨大的扩展能力,只要你愿意,完全可以开发一个trigger,让它在适当的时候给管理员的发送一条即时消息。
由于ps/SQL是过程化的语言,它基本上不具备多态的概念,供Oracle使用的Java方法必须申明为static,所以在Oracle中你无法使用Java的动态特性,比如接口、反射等。不过这并不妨碍你用Java做你爱做的事。
我们以一个简单的hello world为例,我想任何一个有经验的Java程序员都能够通过这个例子,派生出其他希奇古怪的应用,有好的创意记得要与我共享,我的msn是
首先是创建一个Java类,你可以用Jbuilder/Eclipse来编写,也可以直接在Oracle的控制台里面创建。前者不多说,看看后一种方式。
启动SQL plus,执行如下命令:
create or replace and compile java source named "hello_sp" as package le; public class Hello { public static String say(String name) { return "你好,"+name; } } |
Java程序已创建。
然后在Oracle中把这个类导入成为一个函数,执行命令:
create or replace function hello_sp(name varchar2) return varchar2 as language java name '(ng) return ng'; |
函数已创建
现在可以调用该函数,执行:
select hello('bromon') from dual;
返回结果:你好,bromon
有一个需要注意的问题是,假如我们的java方法是没有参数的,比如:
public static String say() { return "你好”; } |
那么在创建函数的时候,函数名不应该有扩号:hello_sp,否则会报告函数有编译错误。
如果你的Java类是在IDE里面编写的,那么只需要在oracle中加载编译过的class文件即可,方法是:
启动enterprise manage console,在“方案”下找到“源类型”,右击”Java类”,选择”加载Java“,选择对应的class文件即可。
-
2017计算机应用基础题库附带答案
NIT合格证书由教育部考试中心签发,是证书持有人计算机应用能力的证明。本站小编收集了一些关于计算机应用基础题库附带答案,希望大家认真阅读!【1】计算机应用基础题库附带答案1、[单选题]在计算机中,一条指令代码由操作码和__C_____两部分组成。(A)、指令码(B)...
-
2017年关于msoffice一级考试题及答案
《计算机应用》月刊,于1981年创刊,由中国科学院成都计算机应用研究所主办,是国内较早公开发行的计算机技术刊物,在计算机自动化领域有较大影响。下面是小编整理的关于msoffice一级考试题及答案,欢迎大家参考!一、选择题1).486微机的字长是A.8位B.16位C.32位D.64位正...
-
2016年计算机应用能力模拟考试题
2016年4月计算机应用能力考试即将开始了,下面本站小编为大家分享的是最新的计算机应用能力考试模拟试题及答案,希望对大家有所帮助!1.请将WindowsXP中文版注销。点击左下角开始菜单——最下面一行有注销2.设置虚拟内存初始大小值和最大值都为1152MB。...
-
嵌入式面试题及答案「C语言」
嵌入式工程师比较常见的嵌入式面试试题有哪些考点?下面本站小编为大家分享嵌入式工程师面试试题及答案,希望对大家参加面试有所帮助!预处理器(Preprocessor)1.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#defineSECONDS_PER_YEAR(60*6...