Como chamar um procedimento com matrizes associativas no Oracle a partir de Java
Eu tenho um procedimento armazenado que se parece com isso:
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
);
E do procedimento build_cursor, quero poder acessar o conteúdo da tabela por sua chave.
parametros('key');
No entanto, eu não sei como construir um array associativo de Java, eu vi apenas exemplos de matrizes simples, ou seja:TYPE parametros IS TABLE OF parametro;
Como posso ligar para obuild_cursor
procedimento de java?
Eu li isso:Como chamar o procedimento armazenado oracle que inclui o tipo definido pelo usuário em java? mas eu não sei quais mudanças eu tenho que fazer no exemplo java dele para criar a matriz associativa;Onde coloco a chave do elemento atual?
Este é um teste de trabalho da 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
);