I have developed a stored procedure like this :
create or replace
PROCEDURE PROC_INS (
GB_LD_ID IN NUMBER,
GB_CS_SP IN TBL_CHAR,
GB_UF_NMS IN TBL_CHAR,
GB_RW_BRS IN TBL_NBR,
GB_RT_SMS IN TBL_CHAR,
GB_LC_SD IN TBL_CHAR)
AS
LV_ERROR NUMBER(10);
LV_MESSAGE varchar2(512);
LV_TM_DI NUMBER(19);
BEGIN
select max(ID) into LV_TM_DI from TME_TAB;
if(LV_TM_DI IS NULL)THEN
LV_TM_DI:=0;
end if;
FOR i IN GB_RW_BRS.FIRST..GB_RW_BRS.LAST
LOOP
BEGIN
Insert into TME_TAB (ID,VS,PUCS,DT_CRD,NGL_ID,NAME,UD_DT,RW_NHG,TRF_SM,LS_FD)
Values((LV_TM_DI+1),0,GB_CS_SP(i),SYSTIMESTAMP,GB_LD_ID,GB_UF_NMS(i),SYSTIMESTAMP,GB_RW_BRS(i),GB_RT_SMS(i),GB_LC_SD(i));
END;
LV_TM_DI := LV_TM_DI + 1;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
IF(LV_MESSAGE IS NULL) THEN
LV_ERROR :=-20004;
LV_MESSAGE :=SQLERRM;
END IF;
RAISE_APPLICATION_ERROR (LV_ERROR,LV_MESSAGE);
END PROC_INS;
This procedure inserts records by reading arrays of type TBL_CHAR
and TBL_NBR
.
TBL_CHAR
is defined as below :
create or replace TYPE "TBL_CHAR" AS TABLE OF VARCHAR2(100);
But while the insertion runs I get this error : ORA-20004: ORA-06533: Subscript beyond count
.
Can some one please help me out here ?