PL/SQL和Java开发Oracle8i应用程序
http://tech.ddvip.com 2007年05月06日 社区交流
本文详细介绍PL/SQL和Java开发Oracle8i应用程序
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语法:
责编:豆豆技术应用
正在加载评论...
- Oracle 10g 教程
- Oracle 故障处理
- Oracle 存储过程
- Oracle 备份恢复
- Oracle 性能调优
- Oracle 9i 教程
- Oracle 11g 教程
- Oracle 启动
- Oracle 命令
- Oracle 数据库管理
- Oracle 时间
- Oracle 密码
- Oracle 用户
- Oracle 常见错误
- Oracle 建数据表
- Oracle 索引
- Oracle 数据库连接
- Oracle 锁
- Oracle RAC 专题
- Oracle exp/imp 命令
- Oracle 表空间
- Oracle 查询
- Oracle 函数
- Oracle PL/SQL 专题
- 更多Oracle 专题>>>