Forums Neueste Beiträge
 

FIFO Delete-Kommando?

23/02/2009 - 15:29 von Michael Andreas | Report spam
Hi,

ich suche ein SQL-Delete-Statement nach dem FIFO-Prinzip:
Wenn es mehr als x Zeilen gibt, lösche Zeilen aber die àltesten zuerst.

wie kann das funktionieren?
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
23/02/2009 - 15:48 | Warnen spam
Hallo Michael,

"Michael Andreas" schrieb:

ich suche ein SQL-Delete-Statement nach dem FIFO-Prinzip:
Wenn es mehr als x Zeilen gibt, lösche Zeilen aber die à¤ltesten zuerst.



hast Du denn ein Kennzeichen für die "àltesten" Datensàtze? Identity, bzw.
Autowert, Timestamp, ...? Falls nicht, klappt dein Vorhaben nicht. Falls
Du sowas hast, musst Du dir halt mit einem Subselect die Datensàtze
raussuchen.

DELETE
FROM <Tabelle>
WHERE ID NOT IN (
SELECT TOP 50 ID
FROM <Tabelle>
ORDER BY ID DESC
)

(Das Statement ist aber nicht datensatzgenau, da TOP xx unter bestimmten
Umstànden auch mehr als xx Eintràge zurückgibt)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen