En SQL Server Compact Edition en Visual Studio 2010 (quizás SQL Server y SQL en general, no lo sé), este comando funciona:
DELETE FROM foods WHERE (name IN ('chickens', 'rabbits'))
pero este comando produce un error de: Error near identifier f. Expecting OUTPUT.
DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))
sql
sql-server
sql-server-ce
Ricardo Altamirano
fuente
fuente
Respuestas:
Para alias de la tabla, tendrías que decir:
No veo el punto de alias para esta
DELETE
declaración específica , especialmente porque (al menos IIRC) esto ya no se ajusta al estricto ANSI. Pero sí, como sugieren los comentarios, puede ser necesario para otros formularios de consulta (por ejemplo, correlación).fuente
SELECT
y otras declaraciones similares, así que instintivamente hice lo que estaba acostumbrado y me preguntaba por qué no funcionó correctamente.in
onot in
no:DELETE f from dbo.foods as f where not exists (select top 1 1 from animalDiets a where a.AnimalId = f.AnimalId and a.DietId = f.DietId)
delete o from Order as o inner join Customer as c on c.CustomerID = o.CustomerID where c.ArchiveOrders = 1
La declaración de eliminación tiene una sintaxis extraña. Dice así:
fuente