Heim >Datenbank >MySQL-Tutorial >用Java编写Oracle数据库存储过程

用Java编写Oracle数据库存储过程

WBOY
WBOYOriginal
2016-06-07 15:02:431263Durchsuche

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 Oracle里可以使用多种语言来编写存储过程,比如Pro*C/C++,PL/SQL,COBOL,在Oracle8i开始支持用Java编写存储过程。 如果非要写存储过程的话,做为以Java谋生的我,首选用Java编写,用PL/SQL需要记忆很多

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

    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

用Java编写Oracle数据库存储过程

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Oracle Enterprise Linux 64Nächster Artikel:oracle存储过程分页代码