Gå til innhold

Finne nyeste oppføring i database


Anbefalte innlegg

Skrevet

Hei

 

Kjapt spørsmål:

Finnes det en enkel måte å finne den nyeste oppføringen i en hel databse?

 

Eksempelvis hvis jeg har 4 tabeller i databasen og jeg vil fortelle leseren når siden sist er oppdatert. Ergo når siste endring ble gjort i databasen.

Videoannonse
Annonse
Skrevet
Finnes det en enkel måte å finne den nyeste oppføringen i en hel databse?

Tja, det burde vel være ganske så opplagt at du i så fall må ha en kolonne som inneholer dato og klokkeslett for oppdateringen. For å få gjeldende klokkeslett og dato bruker du den funksjonen din database har for dette, f eks getdate().

Skrevet

Noe sier meg at du ikke har den hele og fulle forståelse av hva en database er.

 

I en database ligger dataene lagret i tabeller. Skal du hente noe ut av en database, benytter du en select. En select kan du bare kjøre mot tabeller (og views) og ikke mot hele databasen.

 

Det du egentlig ønsker å få til, kalles audit-logging. Kort fortalt er dette en log, eller en tabell, som inneholder informasjon om hvem som gjorde hva med en tabell, og når.

 

En audit-tabell kan bestå av følgende felter:

 

USER_ID

OPERATION

TABLE_NAME

DATA

MODIFIED_TIME

 

Feltet USER_ID må da inneholde en eller annen form for referanse til brukeren som utførte operasjonen. I fetet OPERATION spesifiserer du om det er en INSERT, UPDATE, eller DELETE som har skjedd. Feltet TABLE_NAME inneholder tabellen det er snakk om, mens feltet DATA er en string-concat av alle felter i raden det er snakk om. MODIFIED_TIME forteller når hendelsen skjedde.

 

Du må selvfølgelig lage trigger(e) på alle tabeller du vil overvåke. En trigger er kode som kjører når det skjer noe i en tabell.

 

Werner

Skrevet

Jeg lurer på om han kanskje har en design-flaw. Det er noen som er truendes til å finne ut at en tabell pr kategori og så videre er praktisk, noe de etter hvert finner ut at det ikke er :)

Skrevet
Det du egentlig ønsker å få til, kalles audit-logging. Kort fortalt er dette en log, eller en tabell, som inneholder informasjon om hvem som gjorde hva med en tabell, og når.

Akkurat, det er nok dette jeg ser etter. Men med tanke på at dette egentlig bare var et fiffig lite tillegg jeg vurderte gidder jeg ikke bruke så mye energi på det. Men takk for svar :)

 

roac: Har ikke absolutt ikke forskjellige kategorier i forskjellige tabeller, men har to forskjellige systemer som naturlig nok ligger i forskjellige tabeller. (Et system for tekstpublisiering og et som inneholder selskapets båter for salg og leie, hvis du lurte...)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...