问题描述
在面向对象的 PL/SQL 中,我可以向类型添加成员过程和函数.这里给出了一个例子:
In object-oriented PL/SQL, I can add member procedures and functions to types. An example is given here:
来自:http://www.adp-gmbh.ch/ora/plsql/oo/member.html
在 PL/SQL 中,我可以这样调用这些成员过程/函数:
In PL/SQL, I can then call these member procedures/functions like this:
如何使用 JDBC 的 CallableStatement 来实现?我似乎无法在文档中轻松找到它.
How can I do it with JDBC's CallableStatement? I can't seem to find this in the documentation easily.
注意:这是一种可能性,内联类型构造函数:
NOTE: This is one possibility, inlining the type constructor:
但我正在寻找的是这样的东西(使用 java.sql.SQLData
作为参数):
But what I'm looking for is something like this (using java.sql.SQLData
as a parameter):
另外,成员函数、程序可能会修改对象.如何在 Java 中取回修改后的对象?
Also, member functions, procedures may modify the object. How can I get the modified object back in Java?
推荐答案
在 jdbc
中,您可以使用 out
变量解析和执行 PL/SQL 块.您可以准备一个可调用的语句,例如:
In jdbc
you can parse and execute PL/SQL blocks with out
variables. You could prepare a callable statement such as:
然后你可以使用 CallableStatement.registerOutParameter 并在语句执行后,使用适当的 get
函数来检索值.
Then you can use CallableStatement.registerOutParameter and after the statement has been executed, use the appropriate get
function to retrieve the value.
你可以直接在java中直接访问一个FOO_TYPE
类型,但是你真的要这样做吗?请参阅下面的工作示例:
You can access directly a FOO_TYPE
type directly in java, but do you really want to do this? See below for a working example:
这是一个测试类,用于展示如何在 SQL 对象上使用 registerOutParameter
方法,我们称之为:
This is a test class to show how you can use the method registerOutParameter
on an SQL object, let's call it:
这篇关于从 JDBC 调用 Oracle 面向对象的 PL/SQL 成员过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!