对于带对象表的循环?

时间:2016-02-05 19:11:17

标签: sql oracle

说一个对象上定义了一些函数等,我有一个像

这样的表

CREATE TABLE person_obj_table OF person_typ;

现在我想使用for循环来迭代遍历表

  for x in (select value(t) from person_obj_table t where lastName = 'Smith') loop
    dbms_output.put_line(x.get_fullName);
  end loop;

虽然x未被识别为person_typ,但这似乎失败了。关于在这里做什么的任何线索?

1 个答案:

答案 0 :(得分:2)

value(x)表达式命名v,然后使用该名称:

for x in (select value(t) v from person_obj_table t where lastName = 'Smith') loop
  dbms_output.put_line(x.v.get_fullName);
end loop;