Instruction SQL Server DELETE avec INNER JOIN : éviter les erreurs de syntaxe
Ce guide explique comment utiliser correctement INNER JOIN
dans une instruction DELETE
dans SQL Server, en corrigeant une erreur de syntaxe courante. L'erreur « Syntaxe incorrecte à proximité du mot-clé « INNER » » se produit souvent en raison d'une omission dans la structure de l'instruction DELETE
.
Comprendre l'erreur et sa solution
Le message d'erreur indique que SQL Server ne peut pas déterminer quelles lignes de la table doivent être supprimées. La solution consiste à spécifier explicitement la table cible à l'aide d'un alias de table.
Exemple de syntaxe correcte
Le code corrigé suivant démontre l'utilisation correcte :
<code class="language-sql">DELETE w FROM WorkRecord2 w INNER JOIN Employee e ON e.EmployeeRun = w.EmployeeNo WHERE Company = '1' AND Date = '2013-05-06';</code>
Ici, w
fait office d'alias pour la table WorkRecord2
. Cela désigne clairement WorkRecord2
comme la table à partir de laquelle les lignes seront supprimées en fonction des conditions INNER JOIN
. Le INNER JOIN
lui-même lie les tables WorkRecord2
et Employee
en fonction de la condition de jointure spécifiée (e.EmployeeRun = w.EmployeeNo
), filtrant la suppression uniquement sur les lignes répondant aux critères de la clause WHERE
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!