:TABLE型のOracleデータ型としてINパラメータを指定する方法はありますか? stackoverflowの上でこの前の質問に基づいて
Fetch Oracle table type from stored procedure using JDBC
は、答えは私たちにオラクルの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_PROD_ATTR_TAB_TYPEはINパラメータとしてテーブルをあるよう
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
)
。
これをJavaで指定する方法は?私はOracle 10gリリース2を使用しています。
通過している配列に等しいですレコードのテーブルに?詳しく教えてください。 –
はい、「my_typeはXのテーブルです」と定義された型を持つ場合、実質的に配列になります。表(または配列)またはレコードを渡すには、Javaで配列を作成してOracleの内部型にキャストします。 –
ああ、そうだよ!ありがとう! –