Мне нужно использовать переменную массива (вне выполнения немедленно) в качестве параметра в операторе выбора в процедуре хранения.
Создать новый тип как переменную (как код ниже)
CREATE OR REPLACE TYPE Array_LIST AS VARRAY(200) OF VARCHAR2(10);
ТогдаСоздайте мою процедуру, которая возвращает таблицу
CREATE OR REPLACE PROCEDURE SchemaName.ProcedureName
(Query_String IN VARCHAR2, Ref_Cursor OUT SYS_REFCURSOR)
AS
BEGIN
DECLARE COMCODE Array_LIST;
BEGIN
EXECUTE IMMEDIATE Query_String BULK COLLECT INTO COMCODE;
BEGIN
Open Ref_Cursor For
SELECT
Column1, Column2
From Table_Name
Where
Column1 IN (COMCODE);
END;
END;
END;
Когда я выполнил эту процедуру, я получил ошибку ниже
==> ORA-00932: inconsistent datatypes : expected NUMBER got Scheman_Name.Array_LIST
Может кто-нибудь помочь мне!