ĮVADAS

Laiko Žymos stulpelio lentelės galima nustatyti, ar bet kurią lentelės eilutės reikšmę pasikeitė nuo paskutinio lentelės buvo skaityti. Šiame straipsnyje aprašomas būdas naudoti timestamp stulpelį lentelės optimistiškai lygiagrečiai kontrolės Microsoft SQL Server 2005.

Daugiau informacijos

Laiko Žymos stulpelio galite įtraukti į lentelę padėti išlaikyti duomenų bazės vientisumą, kai keli vartotojai atnaujinti eilučių vienu metu. Taip pat galite sužinoti, kiek eilučių ir kurios eilutės buvo atnaujintas be iš naujo užklausoms lentelėje.

Pavyzdžiui, Tarkime, kad sukurti lentelę, pavadintą MyTest. Kai kurių duomenų lentelės užpildyti vykdant šiuos Transact-SQL sakinių.

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

Tada galite naudoti šį pavyzdį Transact-SQL sakinių įgyvendinti optimistiškai lygiagrečiai kontrolės MyTest lentelės naujinimo metu.

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

Pastaba. TSValue yra laiko Žymos stulpelio reikšmė eilutės, kurioje nurodo paskutinį kartą, skaityti eilutę. Ši reikšmė turi būti pakeistas tikrasis laiko reikšmė. Tikrasis timestamp reikšmė pavyzdys 0x00000000000007D3.

Taip pat galite įdėti pavyzdį Transact-SQL sakinių į operaciją. Užklausą @t kintamąjį į operaciją, galite gauti atnaujintą myKey stulpelio lentelės be iš naujo užklausoms MyTest lentelėje.

Daugiau informacijos apie laiko Žymos stulpelio tipas, apsilankykite šioje "Microsoft" programų kūrėjų tinklo (MSDN) žiniatinklio svetainėje:

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

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?

Dėkojame už jūsų atsiliepimus!

×