SELECT (QTY01,QTY02,QTY03,QTY04,QTY05) INTO (V_RATE01(1),V_RATE01(2),V_RATE01(3),V_RATE01(4),V_RATE01(5))  FROM 数据表
或者
SELECT QTY01 INTO V_RATE02(1),QTY02 INTO V_RATE02(2),QTY03 INTO V_RATE02(3),QTY04 INTO V_RATE02(4), QTY05 INTO V_RATE02(5)   FROM 数据表
均不能通过?

解决方案 »

  1.   

    上述问题已解决
    select QTY01,QTY02,QTY03,QTY04,QTY05  INTO V_RATE01(1),V_RATE01(2),V_RATE01(3),V_RATE01(4),V_RATE01(5)    FROM  数据表 
    即可。不需要括号。
    但是,新的问题: 上述语句动态生成 (因为事先不清楚多少个qty字段 )
    然后使用语句  EXECUTE IMMEDIATE sqldesc;
    则不能执行,不清楚有无变通方法?
      

  2.   

    动态生成没有问题,问题是oracle里没有向vb中的redim重新定义数组的语句,所以,数组的大小要事先确定出来,能包含你可能使用这种方式所要求的所有列。如果是在plsql里处理动态sql,还需要用到dbms_sql这个包里的函数和过程。
      

  3.   

    select QTY01,QTY02,QTY03,QTY04,QTY05  INTO V_RATE01(1),V_RATE01(2),V_RATE01(3),V_RATE01(4),V_RATE01(5)    FROM  数据表 这句sql在oracle中执行成功了???
    我记得没有定义不允许执行的。