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 行出的错,为什么呢,大家帮帮忙,谢谢了。
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 行出的错,为什么呢,大家帮帮忙,谢谢了。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货