Hallo I Access eller i SQL Server? Hej Andreas Först två snabba tips. Om det är en SQL Server databas, skriv SQL Server istället för SQL databas (svårt att vara helt säker på att det är SQL Server du menar), och lägg inlägget i SQL Server forumet istället så finns det ingen tvekan. Ja Christoffer, OK, bra. Ingen fara med forumval och uttryck, det vara bara tips, för att göra det enklare att svara på frågor. När man ser 'SQL databas' vet man inte om det betyder SQL Server (vilket det ofta gör) eller helt enkelt en relationsdatabas. Vad man kan göra, och hur mangör det (hur man skriver) skiljer sig naturligtvis åt mellan olika RDBMS.Återställa increment i tabell
Hur återställer man ett fält som man räknar upp automatiskt med increment i en databas?? Går det ??
Jag använder en tabell som en serienummergenerator. Vid årskiftet vill jag att serienumret ska börja om. Måste jag droppa tabellen och skapa en ny??
Tillägg...
Hur skriver man en SQL fråga som skapar tabellen och även anger identity seed=1 samt identity increment ???
Typ CREATE TABLE serienummer (SNR int(4) identity seed=1 ....
Eller hur blir det ?Sv: Återställa increment i tabell
Du nollställer räknaren i en tabell genom att ta bort alla poser och utför komprimer komandot. Kommer då att börja på 1.Sv: Återställa increment i tabell
Det är en SQL databas.
Hur exekverar jag "komprimer" kommandot i runtime??Sv: Återställa increment i tabell
Angående frågan, först och främst, för att skapa tabellen skriver du följande:
CREATE TABLE foo (colA int IDENTITY(1,1))
Detta skapar en tabell med en kolumn som har en räknare som börjar på 1 (seed), och räknar upp 1 steg (increment) hela tiden.
Angående att börja om i nummerserien, så förstår jag inte riktigt vad du menar. Är det en kolumn som används för att ge en siffra som används i en annan kolumn som innehåller ett serienummer? Ska du tömma tabellen? Annars får du väl en krock i serienumren? Om du ska tömma tabellen så behöver du inte droppa den för att nollställa identity-värdet, kör TRUNCATE tabell istället. Det tömmer tabellen och nollställer identity-värdet till den seed som angavs i CREATE TABLE.Sv: Återställa increment i tabell
Förlåt om jag använder fel forum.. Trodde faktiskt inte att SQL frågorna skiljer sig om det är mot en SQL Databas eller en SQL server .... :-((
Jag tömmer hel tiden tabellen och infogar nya poster varje gång det ska genereras nya serienummer.
Serien ska forsätta räknas upp under samma år. Men om det är nytt år vill jag återställa "räknaren" och då borde jag alltså kunna använda "TRUNCATE" enligt ditt förslag..
Ps serienumret som skapas i denna tabell är bara del av ett serienummer tex 0148 +.... 0001 eller 0002 osv
Tack för hjälpen
//NettanSv: Återställa increment i tabell