DECLARE S  VARCHAR2(10);
        TYPE TID IS TABLE OF VARCHAR2(3);
        I  NUMBER,
        ID TID:=TID();
S:=PICOMAPNYLIST;
FOR I IN 1..5 DO
LOOP
  EXIT WHEN INSTR(S,',')=0
  ID(I):=SUBSTR(S,1,INSTR(S,','));
  S:=SUBSTR(S,INSTR(S,',')+1,LENGTH(S));
END LOOP;
這樣ID(1),ID(2),ID(3),ID(4)分別代表每公司的ID

解决方案 »

  1.   

    DECLARE S  VARCHAR2(20);
            TYPE TID IS TABLE OF VARCHAR2(3);
            I  NUMBER;
            ID TID:=TID();
    begin
            S:='102,12,34,35';
            FOR I IN 1..10 LOOP
              EXIT WHEN INSTR(S,',')=0;
              ID(I):=SUBSTR(S,1,INSTR(S,','));
              S:=SUBSTR(S,INSTR(S,',')+1);
            END LOOP;
    end ;
    上面的代码我编译好像通不过嘛,哪里出了问题啊??
      

  2.   

    ID TID:=TID();
    TID应该是自定义的数组对象对象