WEB开发网
开发学院数据库Oracle PL/SQL和Java开发Oracle8i应用程序 阅读

PL/SQL和Java开发Oracle8i应用程序

 2007-05-06 12:07:09 来源:WEB开发网   
核心提示: public class StaticCurJDBC {…public static String get() throwsSQLException,CoreException {DriverManager.registerDriver(new OracleDriver())
public class StaticCurJDBC {

public static String get() throwsSQLException,
CoreException {
DriverManager.registerDriver(new OracleDriver());
Connection con=DriverManager.getConnection("jdbc:oracle:kprb:");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT prepend_hello(ENAME) FROM EMP);

}

用SQLJ调用PL/SQL函数的示例如下:

public class StaticCurJDBC {

public static String get() throwsSQLException,
CoreException {
String p_name;
#SQL{SELECT prepend_hello(ENAME) INTO :p_name FROM EMP WHERE empno = :id};

}

请注意这个SQLJ程序:对于Java 存储过程 (例如:在数据库中运行的存储过程),不需要设置连接信息,因为SQLJ转换器会自动得到这个信息。

JAVA,SQL, 和PL/SQL名称

完全规范SQL名称或PL/SQL名称,标识着同指定大纲有关的大纲对象。例如,名称scott.getname 代表在大纲scott里的PL/SQL存储过程。

因为SQL名称是相对于大纲而言的,所以在不同的大纲里,可以使用相同的函数名称。Java中的名称,由解析器规范机制解析,这个机制给出一个排好序的Java名称列表,Oracle的大纲会在列表中进行查找。与Java和PL/SQL有关的命名空间,在数据库里被分隔开。

对于已经有PL/SQL存储过程的客户,或者准备用Java和PL/SQL共同编写存储过程的用户来说,这个考虑非常重要。因为数据库把这些命名空间分隔开来,所以用户可以拥有名称相同的存储过程,一个用Java实现,另一个用PL/SQL实现。因为Java存储过程的调用描述器或“调用规范”具有SQL名称,所以标准SQL重载机制会象处理PL/SQL存储过程一样来处理Java存储过程。

上一页  1 2 3 4 5 6 

Tags:PL SQL Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接