Quando metto a punto, vedo che il problema era con la dichiarazione immediata di esecuzione. La tabella da dove il cursore sta selezionando i dati a partire è una tabella provvisoria disponibile per quella sessione.
LA PROCEDURA PROGRAMASSIGNMENT_CONV (P_CLIENTID DI NUMERO) È
IL TIPO PROGRAMASSIGNMENT_TAB È TABELLA DELL'INDICE DI PROGRAMASSIGNMENT%ROWTYPE DA SIMPLE_INTEGER; L_PROGRAMASSIGNMENT PROGRAMASSIGNMENT_TAB; -- L_PROGRAMASSIGNMENTID PROGRAMASSIGNMENT.PROGRAMASSIGNMENTID%TYPE; L_LIMIT PLS_INTEGER: = 500000;
IL CURSORE CUR_PROGRAMASSIGNMENT È SELEZIONARE PROGRAMASSIGNMENTID_SEQ.NEXTVAL, A.CLIENTID, A.VENDORID, A.PID, A.SUBPID, A.PROGRAMID, A.TRIAGEFILTERID, A.CASEID, A.CLIENTCASENO, A.WORKFLOWSTATUS, A.APPLICATIONID, A.ISPRIMARYIND, A.STATUSCHANGEREASONID, A.INTERVENTIONLEVELID, A.DMINTERVENTIONTYPEID, A.PROGRAMRANK, A.IDENTIFIEDDATE, A.SELECTEDDATE, A.OPENEDDATE, A.CLOSEDDATE, A.DECLINEDDATE, A.INTAKEDATE, A.INTAKESOURCEID, A.REFERRALID, A.INSERTEDBY, sysdate, A.RUNID DA CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT A;
l_clientname VARCHAR2 (100);
COMINCIARE -- popolare cdrload.gtemp_bsc_programassignment dall'assistente di sql con DBLINK
l_clientname: = getclientname (p_clientid, “CDR_PROGRAMASSIGNMENT_CONV ");
ESEGUIRE “l'INSERTO IMMEDIATO in cdrload.gtemp_bsc_programassignment PRESCELTO * DA„ || l_clientname;
SELEZIONARE A.RUNID IN L_RUNID DA CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT A DOVE ROWNUM = 1;
APRIRE CUR_PROGRAMASSIGNMENT; CICLO LA MASSA DI AMPIEZZA CUR_PROGRAMASSIGNMENT SI RACCOGLIE NEL LIMITE L_LIMIT DI L_PROGRAMASSIGNMENT; RUNIDTRACKING_PKG.STATUS_TRACKING (P_CLIENTID, “conversion_pkg.CDR_PROGRAMASSIGNMENT_CONV„, “La massa raccoglie il conteggio per l'INSERTO„, L_PROGRAMASSIGNMENT.COUNT, L_RUNID);
-- inserto nella tabella di programassignment
FORALL I IN 1. L_PROGRAMASSIGNMENT.COUNT L'INSERTO IN PROGRAMASSIGNMENT STIMA L_PROGRAMASSIGNMENT (I); USCIRE QUANDO CUR_PROGRAMASSIGNMENT%NOTFOUND; CONCLUDERE IL CICLO; CHIUDERE CUR_PROGRAMASSIGNMENT; ECCEZIONE QUANDO ALTRI ALLORA RUNIDTRACKING_PKG.STATUS_TRACKING (P_CLIENTID, “conversion_pkg.CDR_PROGRAMASSIGNMENT_CONV„, SQLERRM, 0, L_RUNID); ESTREMITÀ PROGRAMASSIGNMENT_CONV;
|