JAVA ORACLE存储过程

简介: 使用JAVA编写ORACLE存储过程,原谅见: http://www.huihoo.com/java/oracle/oracle8i_java.html   同时给出一个简单的用JAVA编写的HELLO ORACLE存储过程(转载)   用java编写oracle存储过程jdbc 发表于 2006-01-01点击数:264 评论数:0 评价:15/3关键词:java 摘要:通常我们都使用ps/sql为oracle编写存储过程,从oracle 8开始我们可以有另一种选择:Java。
使用JAVA编写ORACLE存储过程,原谅见:
 
同时给出一个简单的用JAVA编写的HELLO ORACLE存储过程(转载)
 

用java编写oracle存储过程

jdbc 发表于 2006-01-01
点击数:264 评论数:0 评价:15/3
关键词:java

摘要:

通常我们都使用ps/sql为oracle编写存储过程,从oracle 8开始我们可以有另一种选择:Java。8.0开始,oracle自带一个jvm,内置对java的支持,任何java能做的事情你都可以放到oracle里面来做,你甚至可以在里面操作db2。这让oracle具备了极其巨大的扩展能力,只要你愿意,完全可以开发一个trigger,让它在适当的时候给管理员的msn发送一条即时消息。
 
通常我们都使用ps/sql为oracle编写存储过程,从oracle 8开始我们可以有另一种选择:Java。8.0开始,oracle自带一个jvm,内置对java的支持,任何java能做的事情你都可以放到oracle里面来做,你甚至可以在里面操作db2。这让oracle具备了极其巨大的扩展能力,只要你愿意,完全可以开发一个trigger,让它在适当的时候给管理员的msn发送一条即时消息。

    好消息说完了,现在是坏消息:由于ps/sql是过程化的语言,它基本上不具备多态的概念,供oracle使用的java方法必须申明为static,所以在oracle中你无法使用java的动态特性,比如接口、反射等。不过这并不妨碍你用java做爱做的事。

    我们以一个简单的hello world为例,我想任何一个有经验的java程序员都能够通过这个例子,派生出其他希奇古怪的应用,有好的创意记得要与我共享,我的msn是bromon@gmail.com

    首先是创建一个java类,你可以用jbuilder/eclipse来编写,也可以直接在oracle的控制台里面创建。前者不多说,看看后一种方式。

    启动sql plus,执行如下命令:



create or replace and compile java source named "hello_sp" as 
/**
*创建oracle存储过程的java类
*@author bromon
**/
package org.bromon.oracle;
public class Hello
{
  public static String say(String name)
  {
    return "你好,"+name;
  }
}


Java以创建。

然后在oracle中把这个类导入成为一个函数,执行命令:


create or replace function hello_sp(name varchar2) return varchar2 
as language java name  
'org.bromon.oracle.Hello.say(java.lang.String) return java.lang.String';



函数已创建

现在可以调用该函数,执行:

select hello_sp('bromon') from dual; 



返回结果: 你好,bromon

有一个需要注意的问题是,假如我们的java方法是没有参数的,比如:


public static String say() 
  {
    return "你好”;
  }


那么在创建函数的时候,函数名不应该有扩号:hello_sp
否则会报告函数有编译错误。

如果你的java类是在IDE里面编写的,那么只需要在oracle中加载编译过的class文件即可,方法是:

启动enterprise manage console,在“方案”下找到“源类型”,右击”java类”,选择”加载java“,选择对应的class
目录
相关文章
|
5月前
|
存储 SQL Oracle
Oracle系列十五:存储过程
Oracle系列十五:存储过程
|
5月前
|
SQL 存储 Oracle
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(上)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法
|
5月前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库
|
4月前
|
存储 SQL Oracle
oracle 存储过程导出sql语句 导出为文件
oracle 存储过程导出sql语句 导出为文件
163 0
|
5月前
|
SQL 存储 Oracle
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法(下)
一篇文章带你学会 Oracle 存储过程的基本介绍和高阶用法
|
5月前
|
存储 SQL Oracle
Oracle存储过程与自定义函数的调用:异同与实战场景
【4月更文挑战第19天】Oracle的存储过程与自定义函数各有特色,存储过程用于封装复杂SQL操作,常在批量处理和数据维护中使用,通过CALL或EXECUTE调用;而自定义函数则用于简单计算和查询,返回单一值,可直接在SQL语句中调用。了解两者异同,如返回值方式、调用方式和应用场景,能提升数据库管理效率。实战场景包括:使用存储过程定期清理过期数据,用自定义函数在查询中动态计算字段值。
|
5月前
|
存储 SQL Oracle
Oracle存储过程:数据王国的魔法师
【4月更文挑战第19天】Oracle存储过程是封装复杂SQL操作的魔法工具,存储在数据库中以便重复调用。它们提供高效执行和安全,类似于预编译的程序。创建存储过程涉及定义名称和参数,如示例所示,创建一个根据员工ID获取姓名和薪资的`get_employee_info`过程。调用存储过程可提高代码可读性和性能,使数据库管理更为便捷。
|
SQL Oracle 关系型数据库
Java连接各种数据库操作(mysql、oracle、postgresql、gbase、mongo)
Java连接各种数据库操作(mysql、oracle、postgresql、gbase、mongo)
510 0
|
SQL Oracle 网络协议
7-java连接oracle-Oracle中的事务处理
了解7-java连接oracle-Oracle中的事务处理。
206 0
|
SQL Oracle 关系型数据库
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb
810 0
Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb

推荐镜像

更多
下一篇
无影云桌面