服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用java来编写oracle数据库的存储过程

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

扫描关注微信公众号