Array en la cláusula IN () oracle PLSQL
Estoy pasando String array (plcListchar) a Stored Procedure, me gustaría usar este String array en la cláusula IN ().
No puedo usar plcListchar directamente en la cláusula IN (). Déjame mostrarte cómo estoy creando la matriz de cadenas plcListchar en JAVA.
String array[] = {"o", "l"};
ArrayDescriptor des = ArrayDescriptor.createDescriptor("CHAR_ARRAY", con);
ARRAY array_to_pass = new ARRAY(des,con,array);
callStmtProductSearch.setArray(4, array_to_pass);
para el encajonamiento CHAR_ARRAY,
create or replace type CHAR_ARRAY as table of varchar2;
Quiero usar plcListchar en la cláusula IN. el siguiente es mi procedimiento almacenado.
CREATE OR REPLACE PROCEDURE product_search(
status IN varchar2,
plcList IN varchar2,
i_culture_id IN number,
plcListchar IN CHAR_ARRAY,
status_name OUT varchar2,
culture_code OUT varchar2)
AS
CURSOR search_cursor IS
SELECT p.status_name, p.culture_code
FROM PRISM_ITEM_cultures@prism p
WHERE p.publishable_flag=1
AND p.isroll =0
AND status = '-1'
AND p.plc_status IN ( );
BEGIN
OPEN search_cursor;
FETCH search_cursor INTO status_name, culture_code ;
CLOSE search_cursor;
END;
¿Podría por favor sugerirme cómo usar, si desea sugerir cualquier otra lógica, es genial?