BULK COLLECT 1

DECLARE
TYPE TAB_NODE IS TABLE OF BSS_Node.Nod_Key%TYPE INDEX BY BINARY_INTEGER;
TYPE TAB_TYPE_NODE IS TABLE OF BSS_Node.Nod_Typ_Key%TYPE INDEX BY BINARY_INTEGER;
TabZone        TAB_NODE;
TabZoneTyp    TAB_TYPE_NODE;
BEGIN
DELETE &3 WHERE Nod_Key IN (
SELECT Nod_Key FROM (
SELECT Nod_Key, COUNT(Nod_Key) FROM &3 GROUP BY Nod_Key HAVING COUNT(Nod_Key) > 1
)
) RETURNING Nod_Key, Nod_Typ_Key BULK COLLECT INTO TabZone, TabZoneTyp;

FORALL i IN TabZone.FIRST..TabZone.LAST
INSERT  INTO WT_Log(Fichier, Niveau, Message) VALUES (DECODE(TabZoneTyp(i), 2,  'BdeCellules', 'BdeCellulesUMTS'), 'WARN', '2 ZoneMarketing pour le  noeud '||TabZone(i));
END;
/

CREATE UNIQUE INDEX BSS.&4 ON BSS.&3(Nod_Key) NOLOGGING TABLESPACE &2;

COMMIT;

Laisser un commentaire