PL/SQL和Java开发Oracle8i应用程序
2007-05-06 12:07:09 来源:WEB开发网核心提示: create or replace type body point ismember function jdistance (p point) return number islanguage java name´Point4.distance (Point4) return
create or replace type body point is
member function jdistance (p point) return number is
language java name
´Point4.distance (Point4) return double´;
第三步:从SQL或 PL/SQL调用Java:存储过程发布之后,它就象一个PL/SQL存储过程一样。可以用在调用规范里指定的SQL名称,在各种环境里调用它:
可以在任何SQL语句内部调用:
>SELECT prepend_hello(ENAME) FROM EMP;
使用CALL格式在顶级调用:
>CALL prepend_hello(‘BILL') INTO :x;
在PL/SQL过程、包或匿名块的内部,使用与调用其它PL/SQL过程一样的语法调用:
>DECLARE
emp_name VARCHAR;
BEGIN…
emp_name := prepend_hello(‘BILL');
…
END;
从一个实例的方法内部,可以调用Oracle对象的方法,从而调用底层的Java实现:select pt.p, pt.p.jdistance(point(0, 0)) from point_table pt;
最后,既然所有发布的Java子程序,对SQL和PL/SQL来说,都仿佛是一个PL/SQL子程序[内部用Java实现的子程序],那么一个Java子程序就能透明地参与到PL/SQL子程序所发起的服务器到服务器的RPC调用当中,也能参与到远程数据库服务器的SQL发出的分布式事务当中。
Java 程序如何访问SQL和PL/SQL?
Java 应用程序使用标准的JDBC语法或SQLJ语法访问SQL和PL/SQL。Oracle8i 提供了内嵌的JDBC驱动程序和内嵌的SQLJ 转换器,它们都提供了与Oracle客户端JDBC驱动程序及SQLJ转换器相同的功能,其中包括对所有Oracle专有数据类型的支持(例如ROWID、REFCursors、及Oracle8对象关系类型)。例如,有这样一个用PL/SQL编写的存储函数prepend_hello。要通过JDBC在Java程序里调用这个存储过程,我们使用下面的标准JDBC语法:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››java读取配置文件properties的方法
- ››JavaScript 判断浏览器是否支持SVG方法
- ››java实现u盘指定内容的自动复制
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››javascript自动改变文字大小和颜色的效果
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Java_Jdk 环境变量配置
- ››JAVA中 终止线程的方法
更多精彩
赞助商链接