Всякий раз, когда я пытаюсь извлечь данные из удаленной таблицы, используя ссылку db, и поместить ее в переменную сбора, я получаю сообщение об ошибке ORA-22804. У меня нет доступа к удаленной базе данных.
Я пытался воссоздать тип, используя oid, но все еще сталкивался с той же проблемой.
create or replace type type_demo as table of varchar2(32767);
CREATE OR REPLACE PROCEDURE PROC_TEST(EMP_ID IN TYPE_DEMO,E_NAME OUT TYPE_DEMO)
AS
BEGIN
SELECT EMP_NAME BULK COLLECT INTO E_NAME FROM EMP_TABLE@CDM_LINK WHERE EMPLOYEE_ID MEMBER OF EMP_ID;
END;
/
Всякий раз, когда яя пытаюсь проверить описанную выше процедуру. Я получаю сообщение об ошибке ORA-22804:
DECLARE
A TYPE_DEMO:=TYPE_DEMO('1001');
B TYPE_DEMO:=TYPE_DEMO();
BEGIN
PROC_TEST(A,B);
FOR I IN 1..B.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(B(i));
END LOOP;
END;