在前一篇文章中简单介绍了JAVA程序如何调用Oracle存储过程的基本语法程序结构, 本文将介绍JAVA跟Oracle的另一种关系,即通过JAVA编写Oracle存储过程。 通常情况下,我们都是使用Oracle数据库系统中的ps/sql语句来为oracle编写各种存储过程,不过,在Oracle的第八个版本8之后,为我们提供了编写存储过程的另一种新的选择,那就是使用JAVA来编写Oracle存储过程。从Oracle8.0版本开始,在Oracle数据库系统中自带了java虚拟机jvm,因此使得Oracle内置了对JAVA的全面支持,我们在使用JAVA可以实现的任何功能现在都可以放到Oracle中来实现,当然我们也可以在oracle中来操作其他数据库。JAVA的加入让Oracle展能力得到了升华,我们可以定义一个触发器来在进行任何数据库操作的时候对外界进行其他操作的功能。
- create or replace and compile java source named "PF" as
- /**
- *通过JAVA类来 创建Oracle存储过程
- *
- **/
- package org.oraclejava.pro;
- public class javaCreatePro
- {
- public static String test( int num)
- {
- return num+ "的平方为: " +num*num;
- }
- }
Ⅲ、将JAVA类中的方法test创建为一个Oracle函数方法
create or replace function PF_FUN(name integer) return varchar2 as language java name 'org.oraclejava.pro.javaCreatePro.test(java.lang.Integer) return java.lang.String'; Ⅳ、在控制台直接调用创建的Oracle函数
select PF_FUN(10) from dual;
Ⅴ、输出结果
10的平方为:100