热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

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

欢迎进入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


推荐阅读
author-avatar
赵顺帆_705
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有