Вы можете создать и использовать пользовательскую коллекцию TYPE
с функцией TABLE
.
Тип
CREATE OR REPLACE TYPE sne_id_type IS TABLE OF varchar2(10);
Процедура
CREATE OR REPLACE PROCEDURE input_xml (
v_sne_id sne_id_type, --use the parameter of the collection type
v_card_name VARCHAR2 DEFAULT NULL,
v_port_no VARCHAR2 DEFAULT NULL,
v_refcur OUT SYS_REFCURSOR
) AS
BEGIN
IF ( v_card_name IS NULL AND v_port_no IS NULL ) THEN
OPEN v_refcur FOR SELECT *
FROM tablename
WHERE sne_id IN ( SELECT column_value
FROM TABLE ( v_sne_id )
);
END IF;
END input_xml;
/
Для передачинесколько значений при выполнении, вы можете сделать
BEGIN
INPUT_XML(sne_id_type('ID1','ID2','ID3'), 'CARD', null,null);
END;
/