Bonjour,

J'ai créée une procédure stockée qui d'abord sélectionne une liste d'id.
Ensuite en parcourant cette liste je fait des suppressions dans des tables différentes:

SELECT le_id INTO listLeId FROM ... WHERE ...

FOR myId IN SELECT listLeId
LOOP
DELETE FROM A WHERE li_le_id = myId;
DELETE FROM B WHERE lv_le_id = myId;
DELETE FROM C WHERE le_id = myId;
END LOOP;
J'ai stocké le résultat de ma première requête dans une "variable" afin d'éviter de l'exécuter 3 fois.
Cependant, la suppression ligne par ligne prend beaucoup de temps.

Je ne connais pas les différentes méthodes en PL/SQL ; voyez-vous une solution pour me guider svp.

Note: j'utilise PostgreSQL 8.3

Merci par avance.