У меня есть схема RTRD_W, построенная в базе данных Oracle 11g, которая содержит таблицу rtrd_pri, которая имеет столбец NOMNL, который имеет тип, определенный как VARRAY (10) OF KPS_ADM.NUMBER_T (объект, определенный как тип в схеме KPS_ADM). Я пытаюсь запустить запрос до , чтобы получить объект KPS_ADM.NUMBER_T внутри varray, но я все равно получаю сообщение об ошибке, возвращаемое в синтаксисе SQL. Функция I построена размещена нижеSQL Извлечение объекта из VARRAY в Oracle 11g Database
CREATE or replace function RETRIEVEPRIREF RETURN KPS_ADM.NUMBER_T AS
REF1 KPS_ADM.NUMBER_T;
BEGIN
SELECT KPS_ADM.NUMBER_T INTO REF1 from table(NOMNL) WHERE (SELECT NOMNL FROM RTRD_W.rtrd_pri WHERE (syst_id like '%0516%'));
RETURN REF1;
END RETRIEVEPRIREF;
Я знаю запрос: SELECT NOMNL FROM RTRD_W.rtrd_pri WHERE (syst_id like '%0516%')
работы и не возвращает VARRAY с одним объектом KPS_ADM.NUMBER_T внутри него, но я не могу показаться, чтобы получить правильный синтаксис для поиска внутри varray для извлечения объекта.
Может ли кто-нибудь показать правильный синтаксис для этого?
Большое спасибо за информацию. Он отлично работал для меня –