基于这个关于stackoverflow的上一个问题:Fetch Oracle table type from stored procedure using JDBC答案为我们提供了使用Oracle getArray和java.sql.Datum的OUT参数示例.但是,如果我想指定具有Oracle TABLE类型数...

基于这个关于stackoverflow的上一个问题:
Fetch Oracle table type from stored procedure using JDBC
答案为我们提供了使用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;
我的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
)
其中XX_PROD_ATTR_TAB_TYPE是一个表作为IN参数.
如何在Java中指定它?我正在使用Oracle 10g第2版.
解决方法:
由于您的类型已定义构造函数,我不确定这是否可以正常工作,但我已经在我的博客上发布了有关如何执行此操作的示例.首先,如何从Java将记录类型传递到Oracle:
http://betteratoracle.com/posts/31-passing-record-types-between-oracle-and-java
然后扩展它以从Java传递记录数组到Oracle:
http://betteratoracle.com/posts/32-passing-arrays-of-record-types-between-oracle-and-java
本文标题为:java – 如何指定IN参数,作为TABLE类型的Oracle数据类型?


基础教程推荐
- Java JVM中线程状态详解 2023-05-08
- Java设置String字符串编码方法详解 2023-07-15
- Sentinel整合Feign流程详细讲解 2023-05-07
- 关于spring中单例Bean引用原型Bean产生的问题及解决 2023-01-02
- lombok 子类中如何使用@Builder问题 2023-05-24
- Java模拟实现扑克牌洗牌和发牌的示例代码 2023-05-24
- Spring Data JPA系列JpaSpecificationExecutor用法详解 2023-06-01
- SpringMVC加载控制与Postmand的使用和Rest风格的引入及RestFul开发全面详解 2023-06-10
- jsp-解决文件上传后重启Tomcat时文件自动删除问题 2023-07-31
- Java幂等性解决方案用法介绍 2023-10-08