Denne artikkelen vil legge et grunnlag for å lage, jobbe med og bruke temporale tabeller i SQL Server.
Systemversjonerte tabeller ble introdusert i ANSI SQL 2011 -standarden og har vært tilgjengelig som en funksjon i SQL Server 2016 og over.
I motsetning til en normal tabell som bare kan vise og jobbe med gjeldende data, lar de tidsmessige tabellene deg se og jobbe selv med tidligere slettede data. Som nevnt er dette mulig på grunn av evnen til en tidsmessig tabell til å holde oversikt over endringene som er gjort i dataene i en tabell.
Tabellen inneholder to nøkkelkolonner: sysstarttime og sysendtime. Disse to kolonnene brukes til å definere eksisterende og tidligere data for hver post i en tabell. Du kan bruke bestemte tidsintervaller for å se hvordan dataene i en tabell har endret seg.
Lag en tidsmessig tabell
Før du kan opprette en tidsmessig tabell, må den oppfylle følgende krav:
Hvordan lage en tidsmessig tabell: T-SQL
La oss se på en enkel demonstrasjon av å lage en tidsmessig tabell. Tenk på eksemplet som er vist nedenfor:
Lag tabell dbo.my_temporal_table (Når vi har kjørt spørringen over, vil SQL -serveren opprette tabellen med det spesifiserte navnet.
I SQL Server Management Studio kan du se et systemversjonert tabell ved å utvide tabellalternativet i måldatabasen din:
Legg merke til at SQL -serveren automatisk genererer en historietabell med et lignende skjema som systemversjonertabellen. Vær imidlertid oppmerksom på kolonnene i historietabellen. Legg merke til at de ikke har noen begrensninger.
Tenk på bildet vist nedenfor:
Som du vil se, genererer SQL Server en historietabell under et navn etter et bestemt format. For å angi et tilpasset navn for historietabellen din, spesifiser det i CREATE TABLE -setningen som vist:
---Deretter, hvis du utvider alternativet indekser for historietabellen, merker du at SQL Server automatisk genererte en gruppert indeks:
Ved hjelp av temporale tabeller
La oss teste funksjonaliteten til tidsmessige tabeller ved å sette inn noen få poster i tabellen. Tenk på eksemplet som er vist nedenfor:
Sett inn i my_temporal_table (id, fname, e -post, avdeling)Når vi har satt eksemplaredataene satt inn i tabellen, kan vi spørre dem om:
Velg * fra my_temporal_table;Du bør få en utgang nær den som er vist nedenfor som
For å forstå hvordan systemversjonstabellen fungerer, la oss slette og oppdatere rader i tabellen:
Slett fra my_temporal_table hvor avdelingen = 'database';Deretter spør dataene i hovedtabellen:
Velg * fra my_temporal_table;Hvis du spør History Table, bør du se den gamle versjonen av dataene med riktige tidsstempler.
Konklusjon
Denne guiden dekket begrepet tidsmessig eller systemversjonert tabell i SQL Server. Ved hjelp av denne guiden vil du være i stand til å spore historien til dataene dine ved hjelp av SQL Server temporale tabeller. Vi håper du fant denne artikkelen nyttig. Sjekk ut flere Linux -hint -artikler for tips og opplæringsprogrammer.