Eri*_*ono 5 java oracle oracle10g
基于上一个关于stackoverflow的问题:
答案为我们提供了使用Oracle getArray和java.sql.Datum的OUT参数示例。但是,如果我要指定具有Oracle TABLE类型的数据类型的IN参数,该怎么办?
CREATE OR REPLACE TYPE XXINV.XX_PROD_SRCH_RSLT_REC_TYPE IS OBJECT(
item_no VARCHAR2(30),
inventory_item_id NUMBER,
organization_id NUMBER,
item_description VARCHAR2(240),
item_long_description VARCHAR2(240),
cat_description VARCHAR2(240),
category_set_name VARCHAR2(240),
nla_flag VARCHAR2(1),
CONSTRUCTOR FUNCTION XX_PROD_SRCH_RSLT_REC_TYPE RETURN SELF AS RESULT ,
MEMBER PROCEDURE log_prod_srch_rslt_rec_values (SELF IN XX_PROD_SRCH_RSLT_REC_TYPE) )
CREATE OR REPLACE TYPE xxinv.XX_PROD_SRCH_RSLT_TAB_TYPE AS TABLE OF XX_PROD_SRCH_RSLT_REC_TYPE;
Run Code Online (Sandbox Code Playgroud)
我的SP是这样的:
XX_PART_RESEARCH_PKG .GET_PARTS
(p_called_from IN VARCHAR2,
p_item_id IN NUMBER,
p_category_id IN NUMBER,
p_mnfg_part_id IN NUMBER,
p_item_desc IN VARCHAR2,
p_include_NLA_items IN VARCHAR2,
p_catl_group_id IN NUMBER,
p_catl_attributes IN XX_PROD_ATTR_TAB_TYPE,
x_srch_rslt IN XX_PROD_SRCH_RSLT_TAB_TYPE,
x_return_status OUT VARCHAR2,
x_returb_msg OUT VARCHAR2
)
Run Code Online (Sandbox Code Playgroud)
其中XX_PROD_ATTR_TAB_TYPE是作为IN参数的表。
如何在Java中指定?我正在使用Oracle 10g第2版。
由于您的类型定义了一个构造函数,我不确定这是否能正常工作,但我已经在我的博客上发布了有关如何执行此操作的示例。首先,如何从 Java 将记录类型传递到 Oracle:
http://betteracle.com/posts/31-passing-record-types- Between-oracle-and-java
然后扩展它以将记录数组从 Java 传递到 Oracle:
http://betteracle.com/posts/32-passing-arrays-of-record-types- Between-oracle-and-java
| 归档时间: |
|
| 查看次数: |
1712 次 |
| 最近记录: |