Chinaunix首页 | 论坛 | 博客
  • 博客访问: 753634
  • 博文数量: 771
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-11 14:24
文章分类

全部博文(771)

文章存档

2011年(1)

2008年(770)

我的朋友

分类:

2008-09-11 14:30:33

    里可以使用多种语言来编写过程,比如Pro*C/,PL/SQL,COBOL,在8i开始支持用编写过程。

    如果非要写存储过程的话,做为以谋生的我,首选用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

【责编:Peng】

--------------------next---------------------

阅读(378) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~