17. november 2008 - 11:37Der er
9 kommentarer og 2 løsninger
Genoprette talrække - Reindex?
Hej
Jeg har en talrække i en tabel. Det er ikke et index, men bare en gruppe af fortløbende tal. eks. 1,2,3,4,5,6.
Hvis jeg sletter nr.3 er der så en funktion der kan lukke hullet i rækkefølgen, således det bliver 1,2,3,4,5?
Jeg kan ikke bruge index her og det er vigtigt at der ikke er huller i rækken. Desuden kan en række være mange gange i tabellen så jeg sorterer ud på et andet kriterie.
nej ikke umiddelbart, men du kan lave et hack. hvis du laver en anden tabel med en komplet talrække kan du lave en select sådan ca.: select min(tal) from tabAlle where tal not in (select tal from tabNogle) Det kommer dog nok til at knibe med performance på sigt.
wagner => det er altså meget usikkert at begynde at tilrettet talrækken. hvis det er en primærnøgle bliver denne måske anvendt som foreign key i andre tabeller. Selvom dette ikke er tilfældet, så smadrer du fuldstændig indexes ved denne lille update af gennemsnitligt halvdelen af alle rækker i tabellen.
Jeg har bestemt mig for at lave det med et kald fra min code-behind. Når der ikke findes en funktion der opdaterer rækken så kan jeg lige så godt lave det her.
Ja jeg er godtklar det ikke er en god løsning mht. performance, men det afhænger jo lidt af krav og datamængder.
Hvis det er noget til Skat ville jeg nok passe lidt på med at slette io dem. Jeg ville nok undersøge om det kunne undgåes eller måske sætte rækeen til annulleret istedet for at slette dem.
Det handler om at oprette og sortere data før de sendes til SKAT. Selve funtionalitet i at aflevere data til dem er en kendt affære så det er ikke der jeg vil sætte fokus i denne omgang. Mit problem var at varelinier skal være fortløbende og nogle gange kan der ske ændringer i indtastede varer som gør at man bliver nødt til at slette en linie.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.