Bonjour,
j'ai cette requète :
elle me ramène 16 enregistrements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select pr0.num1 from pr0 where pr0.num1 is not null minus select pr0.num1 from pm0, pr0 where pm0.nrid = pr0.num1
Je veux supprimer ces 16 enregistrements en une seule requète. J'ai donc fait :
mais ça me supprimer 875 enregistrements. Je ne comprends pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DELETE pr0 WHERE pr0.num1 in(select pr0.num1 from pr0 minus select pr0.num1 from pm0, pr0 where pm0.nrid = pr0.num1)
De plus, j'aurais aimer faire une requète sans "IN" (trop long à l'exécution). Est ce que cette requète ferais la même chose que la mienne ? (je comprends pas bien comment marche le "EXISTS"![]()
)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DELETE pr0 WHERE EXISTS(select pr0.num1 from pr0 minus select pr0.num1 from pm0, pr0 where pm0.nrid = pr0.num1
Merci d'avance pour vos réponses
Partager