Предположим, в Oracle 11.2g
следующий тип:
create type a_type is table of varchar2(30);
следующий тип записи:
type a_record is record(id number(18)
,a_collection a_type
);
следующий тип курсора:
type a_cursor is ref cursor return a_record;
следующее сохраненное определение процедуры
function a_function return a_cursor;
При выполнении функции из PHP 5.4 для извлечения курсора, я получаю:
ORA-00932: inconsistent datatypes: expected CHAR got ADT
Хотя я знаю, что коллекции можно возвращать по отдельности, используя:
oci_new_collection
oci_bind_by_name
…Похоже, что проблема вызвана включением a_collection в курсор.
Мой вопрос: кто-нибудь знает, существует ли способ вернуть a_collection в курсоре PHP 5.4 из Oracle 11.2g?
Задача ещё не решена.
Других решений пока нет …