Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Oracle error 1555 snapshot too old

Oracle error 1555 snapshot too old

From: Eric DUCHET <eric.duchet_at_free.fr>
Date: Mon, 06 Dec 1999 10:04:11 GMT
Message-ID: <vSL24.422$Oc1.2807899@nnrp1.proxad.net>


Hi,

I try to delete about 1 000 000 rows in my table with the following command

CURSOR Cur_DeleteAll IS

        SELECT ROWID FROM ITEM WHERE (ITEMCODE, CODE, INSERTTIME, RECORDTYPE) IN
         (SELECT ITEMCODE, CODE, INSERTTIME, RECORDTYPE FROM TMPSPEITEMDEL);    OPEN Cur_DeleteAll;
    LOOP

        FETCH Cur_DeleteAll INTO vRowId;
        EXIT WHEN Cur_DeleteAll%NOTFOUND;

        DELETE FROM ITEM WHERE ROWID = vRowId;

        Cpt_Commit := Cpt_Commit + 1;
        Cpt_LigEfface := Cpt_LigEfface + 1;

        IF Cpt_Commit = 1000 THEN
                Commit;
                Cpt_Commit := 0
        END IF;

    END LOOP; I 've got the Oracle message Snaptshot too old......

Does anybody explain me why this message appears ? I commit my transaction every 1000 rows. I don't understand what's happening.

Thanx Received on Mon Dec 06 1999 - 04:04:11 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US