程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JAVA與Oracle存儲過程(二)

JAVA與Oracle存儲過程(二)

編輯:關於JAVA

在前一篇文章中簡單介紹了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基礎的人都能容易懂得,而從簡單的例子去構造出其他的應用。個人認為,中國軟件界更需要有的程序員素質,就是能更多幫助那些初學者,讓他們少走彎路,才能讓我國的IT行業有更好的發展,對那些將初學者的問題拒之千裡之外的程序員的做法,在此表示遺憾....

當然,以上是題外話,但是希望能引起大家的思考,,,,能引起在我博客話我發的內容簡單的人的反思。。。

二、使用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 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

以上即是在Oracle中的SQL PLUS中使用JAVA程序來產生Oracle存儲過程的演示例子,演示了其基本語法的實現跟簡單的功能實現,可以看出在JAVA跟Oracle之間存在很多有趣的用法,因為oracle中有java虛擬機,使得Oracle變得更加有趣更加豐富多彩。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved