Vraag : ORA fout-ook vele waarden


Wanneer ik zuiver, zie ik het probleem met uitvoert directe verklaring was.  De lijst waar de curseur de gegevens selecteert van is een tijdelijke lijst beschikbaar voor die zitting.


DE PROCEDURE PROGRAMASSIGNMENT_CONV (P_CLIENTID IN AANTAL) IS

    HET TYPE PROGRAMASSIGNMENT_TAB IS LIJST VAN INDEX PROGRAMASSIGNMENT%ROWTYPE DOOR SIMPLE_INTEGER;
    L_PROGRAMASSIGNMENT PROGRAMASSIGNMENT_TAB;
   -- L_PROGRAMASSIGNMENTID PROGRAMASSIGNMENT.PROGRAMASSIGNMENTID%TYPE;
    L_LIMIT PLS_INTEGER: = 500000;

    DE CURSEUR CUR_PROGRAMASSIGNMENT IS
      SELECTEER 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
        VAN CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT A;

   l_clientname VARCHAR2 (100);

  BEGIN
    -- bevolk cdrload.gtemp_bsc_programassignment van sql server door DBLINK

    l_clientname: = getclientname (p_clientid, „CDR_PROGRAMASSIGNMENT_CONV“);


    VOER DIRECT „TUSSENVOEGSEL IN CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT UITGEZOCHT * VAN UIT“ || l_clientname;



    SELECTEER A.RUNID
      IN L_RUNID
      VAN CDRLOAD.GTEMP_BSC_PROGRAMASSIGNMENT A
     WAAR ROWNUM = 1;

    OPEN CUR_PROGRAMASSIGNMENT;
    LIJN
      DE MASSA VAN DE HAAL CUR_PROGRAMASSIGNMENT VERZAMELT
        IN L_PROGRAMASSIGNMENT GRENS L_LIMIT;
      RUNIDTRACKING_PKG.STATUS_TRACKING (P_CLIENTID,
                                        „conversion_pkg.CDR_PROGRAMASSIGNMENT_CONV“,
                                        De „massa verzamelt telling voor TUSSENVOEGSEL“,
                                        L_PROGRAMASSIGNMENT.COUNT,
                                        L_RUNID);


      -- tussenvoegsel in programassignmentlijst

      FORALL I IN 1. L_PROGRAMASSIGNMENT.COUNT
        TUSSENVOEGSEL IN PROGRAMASSIGNMENT WAARDEN L_PROGRAMASSIGNMENT (I);
      UITGANG WANNEER CUR_PROGRAMASSIGNMENT%NOTFOUND;
    DE LIJN VAN HET EIND;
    DICHTE CUR_PROGRAMASSIGNMENT;
  UITZONDERING
    WANNEER ANDEREN TOEN
      RUNIDTRACKING_PKG.STATUS_TRACKING (P_CLIENTID,
                                        „conversion_pkg.CDR_PROGRAMASSIGNMENT_CONV“,
                                        SQLERRM,
                                        0,
                                        L_RUNID);
  EIND PROGRAMASSIGNMENT_CONV;

Antwoord : ORA fout-ook vele waarden

U moet uw kolomnamen gebruiken.

Ik ken uw lijststructuren niet.  U moet de kolomnamen van gtemp_bsc_programassignment en CDR_PROGRAMASSIGNMENT_CONV krijgen en hen uitdrukkelijk opnemen in de tussenvoegselverklaring:

TUSSENVOEGSEL IN cdrload.gtemp_bsc_programassignment (NEEM HIER UW NAMEN COLUN OP)
SELECTEER (NEEM HIER UW NAMEN COLUN OP) VAN IngersollRand.CDR_PROGRAMASSIGNMENT_CONV@INGEST;
Andere oplossingen  
 
programming4us programming4us