SQL - mazání v tabulce LOGu tak, aby pro každé monitorované zařízení zůstalo pouze posledních 100 záznamů   otázka

SQL

Dobrý den,

mám tabulku (T_LOG) kam se zapisují logy zařízení. Tabulka má sloupce:

ID, DatumZaznamu,VyrobniCislo, TextovaPoznamka

Potřebuji jednou za čas spustit dotaz, který zajistí promazání tabulky T_LOG tak, aby pro každé VyrobniCislo zůstalo v tabulce pouze nejnovějších 100 záznamů. Starší smazat, nebo ještě lépe přesunout do T_LOG_ARCHIV.

Každé zařízení, které do T_LOG zapisuje, má za stejné období jiný počet záznamů. Je možné, že zařízení s číslem 1 bude mít za týden 100 záznamů a zařízení 2 jich za týden bude mít 300.

Nemohu tedy použít jednoduché mazání na základě stáří všech záznamů.

A potřebuji to udělat nad daty uloženými v ACCDB souboru, dříve MDB. Nemám tedy k dispzici STORE PROCEDURE.

Díky za radu, David

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vyselectuj si 100 záznamů pro každé ID pomocí row_number()

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback