webForumDet fria alternativet

Problem med delete

Databaser & SQL

3 svar · 289 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jag försöker att vara 'smart' och gör så här:

sql = "DELETE Korg.Spara, [Kunder].[Datum], * FROM Korg INNER JOIN Kunder 
ON Korg.AnvId = Kunder.SessionId " +
     " WHERE Korg.Spara=False AND [Kunder].[Datum]<Now();";

och får error

Ange den tabell som innehåller de poster som du vill ta bort.

Går det inte att göra så här, eller måste jag göra en select och loopa ut
idnummer?

Medlem sedan dec. 20025 483 inlägg
#2

Skriv gärna vilket DBMS som används :)

Som felmeddelandet säger måste du ange från vilken tabell raderingen skall ske, så i ex. T-SQL kan det se ut så här:

delete
[red] korg[/red]
from
 korg g inner join kunder k
 on
 g.anvid = k.sessionid
where
 g.spara = 'false' and
 k.datum < getdate()
Medlem sedan mars 20011 880 inlägg
#3

Ber om ursäkt, det rör sig om Access

Medlem sedan dec. 20025 483 inlägg
#4

Jag tror inte Access har stöd för multipla tabeller i DELETE-operationer, så du får nog göra det den hårda vägen.

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)