Вот моя функция func
в моем пакете A
:
create or replace PACKAGE A AS
type MY_TYPE IS TABLE OF MYTABLE%ROWTYPE;
FUNCTION func RETURN MY_TYPE;
END A;
create or replace PACKAGE BODY A AS
FUNCTION func RETURN MY_TYPE IS
CURSOR myCursor IS
SELECT * FROM MYTABLE;
var_cursor MYTABLE%ROWTYPE;
myParam MY_TYPE;
i NUMBER := 1;
BEGIN
FOR var_cursor IN myCursor
LOOP
myParam.EXTEND;
myParam(i) := var_cursor;
i := i + 1;
END LOOP;
RETURN myParam;
END func;
END A;
Я хочу вызвать эту функцию.
DECLARE
type my_type IS TABLE OF MYTABLE%ROWTYPE;
variable my_type;
BEGIN
variable := A.func();
END;
Это дает ошибку
PLS-00382: выражение имеет неправильный тип
Типы одинаковы, так что я делаю не так и как я могу это исправить?