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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta