調用在Oracle中關聯數組的過程我有一個存儲過程是這樣的:如何從Java
TYPE ref_cursor IS REF CURSOR;
TYPE parametro IS RECORD (
nombre VARCHAR2(50), -- I want to remove this value and make it the key of the table instead.
valor VARCHAR2(32000),
tipo VARCHAR2(1),
sentencia VARCHAR2(32000)
);
TYPE parametros IS TABLE OF parametro INDEX BY VARCHAR2(50);
PROCEDURE build_cursor (
params IN parametros
results OUT ref_cursor
);
而且從build_cursor過程中,我希望能夠訪問到的內容表的關鍵。
parametros('key');
不過,我不知道如何建立從Java關聯數組,我所看到的只是簡單的數組的例子,即:TYPE parametros IS TABLE OF parametro;
我怎樣才能從Java調用的build_cursor
程序?
我讀到這個:How to call oracle stored procedure which include user-defined type in java?但我不知道我的創建關聯數組的java例子有什麼變化; 我在哪裏放置當前元素的Key?
這是Oracle的一項工作測試。
params('key').nombre := 'key'; -- I want this to be removed because it's the key.
params('key').valor := 'Roger';
params('key').tipo := 'V';
params('key').sentencia := 'Something';
-- Call the procedure
pk_sql_utils.build_cursor(
params => params,
results => :results
);
我最終做了將嵌套錶轉換爲關聯數組的封裝函數,感謝您的幫助。 – Roger