я определяю члена функции для этого типа:Как использовать самоопределенные типы с вложенными таблицами в функциях-членах PL/SQL?
CREATE OR REPLACE TYPE HITO_T (
nombre VARCHAR2 (20) , categoria VARCHAR2 (20) , estado VARCHAR2 (10) , costo_entrada NUMBER (10,0), zonas ZONA_TABLE_T, MEMBER FUNCTION listar_zonas RETURN ZONA_T
); /
Тип имеет атрибут для вложенной таблицы и функция должна вернуть все значения для этой вложенной таблицы, так, что у меня есть:
CREATE OR REPLACE HITO_T тип кузова, как
MEMBER FUNCTION listar_zonas RETURN VARCHAR2 is BEGIN return self.zonas END listar_zonas;
END; /
Определения ZONA_T и ZONA_TABLE_T являются:
CREATE OR REPLACE TYPE ZONA_T ПОД LUGAR_TIPO (
nombre VARCHAR2(20), tamano NUMBER, poligonos POLIGONO_TABLE, MEMBER FUNCTION listar_poligonos RETURN POLIGONO_T);
/
CREATE OR REPLACE TYPE ZONA_TABLE_T КАК ТАБЛИЦА ZONA_T; /
Я не могу начать пытаться, так как не знаю, как вызвать функцию. Мой конкретный вопрос заключается в том, как вызвать функцию для проверки ее с фактическими объектами в базе данных, вместо того, чтобы использовать один определенный в данный момент (т. Е. CALL HITO_T ('a', 'b', 'c' ...). .. не будет работать, потому что функция нуждается в значениях из атрибута zonas, который представляет собой вложенную таблицу и не может быть определен в данный момент точно так же). Более того, я не уверен, что могу просто вернуть «self.zonas» именно так.
Любые идеи?
Вы пробовали 'HITO_T.listar_zonas'? или выбрали его из вашей вложенной таблицы? – hmmftg