optimisation delete requete
Bonjour,
J'ai un petit souci avec des requetes delete.
J'en ai 30.
Le delete se sert d'un select pour supprimer les données. Or ce select est identique pour toutes les requete.
En gros, j'ai
delete from table1 where table1.id in (select id from toto)
delete from table2 where table2.id in (select id from toto)
delete from table3 where table3.id in (select id from toto)
etc....
etc..
J'aimerai pouvoir charger une seule fois le select id from toto et utiliser ces valeurs pour chaque delete.
J'ai réfléchi à 2 solutions :
la première : utiliser la clause with, mais cette clause est utilisé que pour une seule requete et non pour plusieurs, elle ne sauvegarde pas le résultat pour toutes les requetes.
La seconde : créer un cursor, et faire un :
delete from table1 where table1.id = cursor.get(0)
delete from table2 where table2.id = cursor.get(0)
Je parcours chaque id, et je supprime de toutes les tables, mais je sais pas si cela est optimisé....
Sinon je fais chaque delete en rechargeant à chaque fois ma requete select.
Je sais pas quoi faire ?
merci