【问题标题】:How to use self defined types with nested tables in PL/SQL member functions?如何在 PL/SQL 成员函数中使用带有嵌套表的自定义类型?
【发布时间】: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


【解决方案1】:

VALUE 语句正是我所寻找的。​​p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-15
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多