Jak wywołać procedurę z tablicami asocjacyjnymi w Oracle z Java
Mam procedurę składowaną, która wygląda tak:
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
);
Z procedury build_cursor chcę mieć dostęp do zawartości tabeli za pomocą jej klucza.
parametros('key');
Nie wiem jednak, jak zbudować tablicę asocjacyjną z Javy, widziałem tylko przykłady prostych tablic, tj .:TYPE parametros IS TABLE OF parametro;
Jak mogę zadzwonić dobuild_cursor
procedura z java?
Przeczytałem to:Jak wywołać procedurę zapisaną w pamięci Oracle, która zawiera typ zdefiniowany przez użytkownika w Javie? ale nie wiem, jakie zmiany muszę wprowadzić w swoim przykładzie java do tworzenia tablicy asocjacyjnej;Gdzie mogę umieścić klucz bieżącego elementu?
To działający test 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
);