我现在遇到的问题是要从一个数组里select出一些数据并且group by。
因为客户要求是必须用数组而不是用临时表,之前没用过……
PLSQL的数组可以当作table来select么?group By什么的呢?
怎么写呢?谢谢啦!

解决方案 »

  1.   

    当然可以, 自己看一下小范例CREATE TYPE first_names_t IS VARRAY (2) OF VARCHAR2 (100);CREATE TABLE family ( parent_names first_names_t);SELECT * FROM FAMILY;INSERT INTO FAMILY VALUES(first_names_t('Oh, Yeah'));SELECT * FROM TABLE(SELECT parent_names FROM family) T;
      

  2.   

    谢谢,可是我说的是PLSQL里边……而且也不能建立临时表……
      

  3.   

    数组有索引表和嵌套表,不知道有没有其他的。刚看书到这部分
    1楼是嵌套表,
    索引表例子
    set serveroutput on
    DECLARE
    TYPE area_table_type is TABLE OF NUMBER
    INDEX BY VARCHAR2(10);
    area_table area_table_type;
    BEGIN
    area_table('北京'):=1;
    area_table('上海'):=2;
    area_table('广州'):=3;
    dbms_output.put_line('第一个元素:'||area_table.first);
    dbms_output.put_line('最后一个元素:'||area_table.last);
    END;
    /