已经声明 TBL为嵌套表类型 如:
 TYPE TBL IS TABLE  OF PPFA_AD_UPDATE_TR_FILE_HAIDEN%ROWTYPE;
 P_DATA_TBL1 TBL;
 现在,欲从P_DATA_TBL1中抽出数据,
 直接使用SELECT A,B FROM P_DATA_TBL1类型语句,出现编译错误:
 PLS-00201,P_DATA_TBL1声明无效。
 请问应该怎样从嵌套表select数据?

解决方案 »

  1.   

    嵌套表
    select p.col_name.element from PPFA_AD_UPDATE_TR_FILE_HAIDEN p
      

  2.   

    PPFA_AD_UPDATE_TR_FILE_HAIDEN 是一个表阿,在对嵌套表填充数据前,必须对其进行初始化吗?
      

  3.   

    给你一个例子参考一下:
    假设有一个关于动物饲养员的表,希望其中具有他们饲养的动物的信息。用一个嵌套表,就可以在同一个表中存储饲养员和其饲养的全部动物的信息。1、创建类型animal_ty:此类型中,对于每个动物都包含有一个记录,记载了其品种、名称和出生日期信息。CREATE TYPE animal_ty AS OBJECT (breed varchar2(25), name varchar2(25), birthdate date); 2、创建animals_nt:此类型将用作一个嵌套表的基础类型。CREATE TYPE animals_nt as table of animal_ty;3、创建表breeder:饲养员的信息表create table breeder(breedername varchar2(25),animals animal_nt)nested table animals store as animals_nt_tab;4、向嵌套表中插入记录insert into breeder values('mary',animal_nt(animal_ty('dog','butch','31-MAR-97'),animal_ty('dog','rover','31-MAR-97'),animal_ty('dog','julio','31-MAR-97')));insert into breeder values('jane',animal_nt(animal_ty('cat','an','31-MAR-97'),animal_ty('cat','jame','31-MAR-97'),animal_ty('cat','killer','31-MAR-97')));commit;5、查询嵌套表select name,birthdate from table(select animals from breeder);select name,birthdate from table(select animals from breeder where breedername=’mary’)where name=’dog’;