Dans SQL Server Compact Edition dans Visual Studio 2010 (peut-être SQL Server et SQL en général, je ne sais pas), cette command fonctionne:
DELETE FROM foods WHERE (name IN ('chickens', 'rabbits'))
mais cette command produit une erreur de: Error near identifier f. Expecting OUTPUT.
Error near identifier f. Expecting OUTPUT.
DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))
Pour alias la table, vous devez dire:
DELETE f FROM dbo.foods AS f WHERE f.name IN (...);
Je n'arrive pas à voir le point d'aliasing pour cette instruction DELETE
spécifique, d'autant plus que (au less IIRC) ce n'est plus conforme à ANSI ssortingcte. Mais oui, comme le suggèrent les commentaires, il peut être nécessaire pour d'autres forms de requête (par exemple, la corrélation).
L'instruction delete a une syntaxe étrange. Ça va comme ça:
DELETE f FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))