Taip jau išėjo, kad mano tinklaraštis dėl daugybės priežasčių nebuvo atnaujinamas ilgą laiką. Turiu prikauspęs daug nepaskelbtų ir nepabaigtų redaguoti juodraščių. Taig šiandien paskelbsiu vieną iš jų.
Yra tokia programavimo kalba, matyt mažai kam girdėta, Progress 4GL arba dar kitaip vadinama ABL. Žodžiu, tenka man karts nuo karto su ja susidurti.
Viena iš problemu su kuria teko susidurti tai didelio kiekio duomenų perkopijavimas iš vienos lentelės į kitą. Žinoma galima naudoti ASSIGN sakinį ir vardinti visus laukus, tačiau toks būdas yra pakankamai lėtas, kai norima nukopijuoti visus įrašus. Daug greitesnis būdas yra naudoti BUFFER-COPY:
DEF TEMP-TABLE ttLentele NO-UNDO LIKE Lentele.
FOR EACH Lentele NO-LOCK:
CREATE ttLentele . BUFFER-COPY Lentele TO ttLentele.
END.
Taip pat galima nurodyti laukus, kurių nereikia kopjuoti. Galima naudoti WHEN… THEN sakinius ir pan.

0 Responses to “Progress 4GL Buffer-Copy”