【发布时间】:2014-02-19 05:39:18
【问题描述】:
我正在为这种类型定义一个成员函数:
创建或替换类型 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); /
该类型具有嵌套表的属性,并且函数必须返回该嵌套表的所有值,所以我拥有的是:
创建或替换 TYPE BODY HITO_T 为
MEMBER FUNCTION listar_zonas RETURN VARCHAR2 is BEGIN return self.zonas END listar_zonas;结束; /
ZONA_T 和 ZONA_TABLE_T 的定义是:
在 LUGAR_TIPO 下创建或替换类型 ZONA_T (
nombre VARCHAR2(20), tamano NUMBER, poligonos POLIGONO_TABLE, MEMBER FUNCTION listar_poligonos RETURN POLIGONO_T);/
创建或替换类型 ZONA_TABLE_T 作为 ZONA_T 的表; /
我似乎无法开始尝试,因为我不知道如何调用该函数。我的具体问题是如何调用该函数以使用数据库上的实际对象对其进行测试,而不是使用目前定义的对象(即 CALL HITO_T('a','b','c'...)。 .. 将不起作用,因为该函数需要来自 zonas 属性的值,该属性是一个嵌套表,目前无法像那样定义)。此外,我不确定我是否可以就这样返回«self.zonas»。
有什么想法吗?
【问题讨论】:
-
你试过
HITO_T.listar_zonas吗?还是从嵌套表中选择它?
标签: oracle plsql member-functions nested-table