declare @CnkNr varchar( 10 ) select @CnkNr = '1766625' delete from Article.ExpDateLotNrs where ArtID in ( select ArtID from Article.Articles a where a.CnkNr = @CnkNr )
L'utilisation d'une sous-requête (ex ci-dessus) est peu efficace si le résultat de la sous-requête retourne un ensemble de donnée important.
Dans d'autres cas, il peut être nécessaire d'utiliser une jointure sur plusieurs tables avant de connaître les enregistrements à effacer.
Il est alors nécessaire d'effectuer une opération "delete" sur base d'une jointure.
Tout comme l'update avec jointure, la syntaxe du Delete avec jointure est un peu particulière:
declare @CnkNr varchar( 10 ) select @CnkNr = '1766625' delete from Article.ExpDateLotNrs FROM Article.ExpDateLotNrs L inner join Article.Articles a on a.ArtID = l.ArtID and a.CnkNr = @CnkNr
Aucun commentaire:
Enregistrer un commentaire