JAVA与Oracle存储过程(二)

在前一篇文章中简单介绍了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展能力得到了升华,我们可以定义一个触发器来在进行任何数据库操作的时候对外界进行其他操作的功能。
   下面准备举个例子来说明下如何通过JAVA来创建Oracle存储过程.
   二、使用JAVA创建Oracle存储过程
   先看下如何使用JAVA来编写Oracle存储过程,我们在Oracle的sql plus中编写语句。
   Ⅰ、启动SQL PLUS
   Ⅱ、编写JAVA类,定义JAVA类别名,本存储过程为简单地输出传入参数的平方值。

  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 integerreturn 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

   以上即是在Oracle中的SQL PLUS中使用JAVA程序来产生Oracle存储过程的演示例子,演示了其基本语法的实现跟简单的功能实现,可以看出在JAVA跟Oracle之间存在很多有趣的用法,因为oracle中有java虚拟机,使得Oracle变得更加有趣更加丰富多彩。

共有0个回答