create or replace procedure faultProcedure   (
                            sequenceNumber in varchar,
                            faultNumber in varchar,
                            equipmentIDDLHS in varchar,
                            equipmentID in varchar,
                            placeGD in varchar,
                            workshop in varchar,
                            eName in varchar,
                            faultReason in varchar,
                            eTime in varchar,
                            faultLevel in varchar,
                            sourceInfo in varchar,
                            isResolve in varchar
                            )
 as 
    sequenceNumberData split_type; 
    faultNumberData split_type; 
    equipmentIDDLHSData split_type; 
    equipmentIDData split_type; 
    placeGDData split_type; 
    workshopData split_type; 
    eNameData split_type;     
    faultReasonData split_type; 
    eTimeData split_type;     
    faultLevelData split_type; 
    sourceInfoData split_type; 
    isResolveData split_type; 
                                                        
 begin
       sequenceNumberData := split(sequenceNumber,'|');
       faultNumberData := split(faultNumber,'|');
       equipmentIDDLHSData := split(equipmentIDDLHS,'|');
       equipmentIDData := split(equipmentID,'|');
       placeGDData := split(placeGD,'|');
       workshopData := split(workshop,'|');
       eNameData := split(eName,'|');
       faultLevelData := split(faultLevel,'|');
       sourceInfoData := split(sourceInfo,'|');
       isResolveData := split(isResolve,'|');
       faultReasonData := split(faultReason,'|');
       eTimeData := split(eTime,'|');
    
       FORALL i IN 1..3
             Insert into faultinfo
                     (sequenceNumber,faultNumber,equipmentIDDLHS,equipmentID,workshop,segment,equipmentName,faultReason,faultLevel,source,isResolve)
             values
                     (sequenceNumberData(i),faultNumberData(i),equipmentIDDLHSData(i),
                      equipmentIDData(i),workshopData(i),placeGDData(i),eNameData(i),
                      faultReasonData(i),faultLevelData(i),sourceInfoData(i),isResolveData(i)
                     );
 exception
       when too_many_rows then
        DBMS_OUTPUT.PUT_LINE('返回值多于1行');
       when others then
        DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
        Dbms_output.put_line(sqlcode||sqlerrm(sqlcode));
  end;
错误:
在RUNBYPARMETERS过程中出错!
-1722ORA-01722: 无效数字
FORALL i IN 1..3  行出的错,为什么呢,大家帮帮忙,谢谢了。