Gå til innhold

Anbefalte innlegg

Skrevet

Heisan

Jeg lurer på noe så enkelt som å få MSSQL2005 til å automatisk sette dagens dato på et feil i en ny record. Ser det er noe som heter Computed Column Specification, men setter jeg TODAY der så får jeg bare feilmeldinger. Det samme får jeg om jeg prøver det samme i Default Value. Noen tips

Videoannonse
Annonse
Skrevet

ÆHHH!

Dårlig gjort

Hvorfor kan det ikke være enb standard måte å hente en dato på?

Hvorfor må SQL bruke GETDATE() og ikke Today() so alle andre språg i hvertfall jeg kjenner.

 

Dustete!!

Skrevet

Bruk TIMESTAMP datatypen, f.eks.:

CREATE TABLE feilmelding (
feilmelding_id INT NOT NULL,
feilmelding_navn NVARCHAR(30) NOT NULL,
feilmelding_beskrivelse NVARCHAR(200) NOT NULL,
feilmelding_tid TIMESTAMP NOT NULL,
CONSTRAINT feilmelding_pk PRIMARY KEY (feilmelding_id)
);

 

Når du da gjør en insert i denne tabellen så vil klokkeslettet (og dato) bli lagret.

F.eks.:

INSERT INTO feilmelding (feilmelding_id, feilmelding_navn, feilmelding_beskrivelse)
VALUES (1, 'Error 1234', 'Ukjent Windows feil; hiv pcen din og kjøp deg en Mac.');

 

Timestamp Syntax (MSSQL Server 2005)

 

Må påpeke at hvis det blir gjort en update av f.eks. 'feilmelding_navn' så vil Timestamp også bli oppdatert.

Skrevet

Datatypen timestamp i SQL Server 2005 har nok ingenting med dato og klokkeslett å gjøre selv om SQL-2003 standarden definerer det som tid og klokkeslett. Definisjonen for timestamp står i linken du la ved.

Skrevet

Ahh.. ser det nå.. beklager feilen.

 

Men hvis du bytter ut 'feilmelding_tid TIMESTAMP NOT NULL,'

med 'feilmelding_tid DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'

så vil det funke.

 

Ser også at en Update vil ikke endre tiden inni 'feilmelding_tid'.

Oppdatering av tiden kan gjøres slik:

UPDATE feilmelding
SET feilmelding_tid = GETDATE()
WHERE feilmelding_id = 1;

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...