i := 0;
  ddval(0) := 'qq'
                 ~~~~没写分号

解决方案 »

  1.   

    TYPE clorow  IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER
                    ~~~~~~~~~
    --类型为clorow的变量ddval
    ddval clorow;
      

  2.   

    create or replace procedure ff 
    is 
     -- 数组的名称为clorow
      type clorow is array(1000) of varchar2(100);
      i number;  
      --类型为clorow的变量ddval
      ddval clorow :=clorow(); 
    begin
      i := 0;
      ddval(0) := 'qq';
    end ff;
      

  3.   

    如果用可变长数组的话:
    create or replace procedure ff 
    is 
     -- 数组的名称为clorow
      type clorow is VARRAY(1000) of varchar2(100);
                     ~~~~~~~~~~~~
      i number;  
      --类型为clorow的变量ddval
      ddval clorow :=clorow(); 
    begin
      i := 0;
      ddval(0) := 'qq';
    end ff;
      

  4.   

    create or replace procedure ff 
    is 
     -- 数组的名称为clorow
      type clorow is array(1000) of varchar2(100);
      i number;  
      --类型为clorow的变量ddval
      ddval clorow :=clorow(); 
    begin
      i := 0;  --i不是從零開始的吧!把i的初始值設為1看行不行
      ddval(0) := 'qq';
    end ff;