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

使用Java來編寫Oracle數據庫的存儲過程

編輯:關於JAVA

Oracle裡可以使用多種語言來編寫存儲過程,比如Pro*C/C++,PL/SQL,COBOL,在Oracle8i開始支持用Java編寫存儲過程。

如果非要寫存儲過程的話,做為以Java謀生的我,首選用Java編寫,用PL/SQL需要記憶很多的語法(Pascal類的語法)和函數,遠不如使用Java/JDBC這麼輕車熟路。而且,DB2等數據庫都支持Java存儲過程,所以不比為每一種數據學習一種編寫存儲過程的方法了。

Java存儲過程與一般的JDBC程序有所不同的是:

1.有安全限制,畢竟是在oracle內部運行的,不允許訪問操作系統的資源,如文件。

2.獲取數據庫聯接方式,connection = new OracleDriver().defaultConnection();

3.System.out,System.err,System.in等輸入輸出有所不同。可以利用某些命令重定向。

下面用Java 存儲過程寫一個Hello World的例子。

1)在plsqldeveloper裡,java source裡增加一個TestJava1類,

代碼

create or replace and compile java source named TestJava1 as
public class TestJava1
{
public static void test()
{
System.out.println("Hello");
}
}

執行它,以保存並編譯。

2)增加一個procedure,執行如下命令:

代碼

create or replace procedure testJava1
as
language java name 'TestJava1.test()';

3)在command window裡輸入

代碼

SET SERVEROUTPUT ON;
CALL dbms_java.set_output(2000);

以使System.out重定向到當前窗口;

在command window裡輸入,exec testJava1();

即可看到結果:

Hello

PL/SQL procedure successfully completed

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