我有一个存储过程是这样的:
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;
我怎样才能调用build_cursor
从Java程序?
我这样说的: 如何调用Oracle存储过程,其中包括在Java用户定义类型? 但我不知道做什么样的变化我必须让他为创建关联数组的Java例子; 我应该把当前元素的关键?
这是从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
);