然后实现这个对象类型的方法:
| CREATE OR REPLACE TYPE BODY purchase_order_t AS MEMBER FUNCTION total_value RETURN NUMBER IS i INTEGER; stock stock_info_t; line_item line_item_t; total NUMBER := 0; cost NUMBER; BEGIN // 在这里插入具体的PL/SQL代码或者译Java存储过程的调用。 END; |
在Oracle 8i 里,这四种存储程序类型的每一种,都可以从不同的调用环境调用,这些调用环境是:
SQL语句可以在任何SQL语句内部调用函数。顶级CALL语法使用CALL语句,可以在顶级调用过程和函数。CALL是随Oracle8i新引进的语法。PL/SQL块、子程序、包可以在PL/SQL子程序、包或匿名块里调用它们。请注重:Java存储程序自己可以在匿名的BEGIN … END 块内被调用。触发器的隐式调用。最后,PL/SQL或Java存储过程可以在触发器执行的时候,隐式地被调用。
把JAVA与现存的PL/SQL程序结合
要想理解如何才能把Java 应用程序和现有的PL/SQL存储过程结合起来,我们首先要理解开发Java存储过程的三个步骤:
第一步:编写Java 存储过程:第一步是编写要做成存储过程的Java程序。可以用标准的Java编写,也可以用SQLJ编写?因为存储过程通常都是SQL密集型的,所以用SQLJ编写存储过程,是一个效率较高的方法。
| public class Foo { public static String prependHello(String tail) { return "Hello " tail;}} |
第二步:步署、发布存储过程:用Java开发工具编写完Java程序后,要把它装载进Oracle8i。要用Oracle提供的loadjava命令行工具,以源文件、二进制文件、.class类文件、Java .jar归档文件的形式,把Java程序装载进Oracle8i中的目标数据库大纲。Loadjava是一个Java程序,它用Oracle的JDBC驱动程序连接服务器,自动把一组Java程序装载进服务器。(还可以使用CREATE JAVA这个工具,它是SQL*Plus的SQLDDL命令)
| >loadjava -user scott/tiger@oudelsrv-1:5521:ORCL Foo.class | |||
| 共5页: 上一页 [1] 2 [3] [4] [5] 下一页 | |||
![]() |