Sign in with Microsoft
New to Microsoft? Create an account.

INTRODUKSJON

Tidsstempel -kolonnen i en tabell kan brukes til å bestemme om alle verdier i tabell-raden er endret siden forrige gang tabellen ble lest. Denne artikkelen beskriver en metode for å bruke tidsstempel -kolonnen i en tabell for optimistisk samtidighetskontroll i Microsoft SQL Server 2005.

Hvis du vil ha mer informasjon

Du kan legge til et tidsstempel -kolonnen i en tabell for å opprettholde integriteten til databasen når flere brukere oppdaterer rader på samme tid. Du bør også vite hvor mange rader og hvilke rader ble oppdatert uten å spørre på nytt i tabellen.

Anta for eksempel at du oppretter en tabell som heter MyTest. Du kan fylle ut enkelte data i tabellen ved å kjøre følgende Transact-SQL-setninger.

CREATE TABLE MyTest (myKey int PRIMARY KEY, myValue int, TS timestamp)
GO
INSERT INTO MyTest (myKey, myValue) VALUES (1, 0)
GO
INSERT INTO MyTest (mykey, myValue) VALUES (2, 0)
GO

Du kan deretter bruke følgende eksempel Transact-SQL-setninger til å implementere optimistisk samtidighetskontroll i tabellen MyTest under oppdateringen.

DECLARE @t TABLE (myKey int)
UPDATE MyTest SET myValue = 2
OUTPUT inserted.myKey into @t(myKey)
WHERE myKey = 1 and TS = TSValueIF (SELECT COUNT(*) FROM @t) = 0
BEGIN
RAISERROR ('error changing row with myKey = %d',
16, -- Severity.
1, -- State.
1) -- myKey that was changed
END

Obs! TSValue er verdien i tidsstempel -kolonnen for raden som angir siste gang du leser raden. Denne verdien må erstattes med faktiske tidsstempel -verdien. 0x00000000000007D3 er et eksempel på den faktiske tidsstempel -verdien.

Du kan også legge utvalg Transact-SQL-setninger i en transaksjon. Du kan hente oppdaterte myKey -kolonnen i tabellen ved å spørre @t variabelen i omfanget av transaksjonen, uten å spørre på nytt i MyTest -tabellen.

Hvis du vil ha mer informasjon om typen tidsstempel -kolonnen, kan du gå til følgende webområde for Microsoft Developer Network (MSDN):

http://msdn2.microsoft.com/en-us/library/ms182776.aspx

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×