Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Introduktion

Tidsstämpel kolumn i en tabell kan användas för att avgöra om något värde i tabellraden har ändrats sedan registret lästes senast. I artikeln beskrivs ett sätt att använda tidsstämpel kolumn i en tabell för optimistisk simultan kontroll i Microsoft SQL Server 2005.

Mer Information

Du kan lägga till en tidsstämpel kolumn i en tabell för att upprätthålla integriteten i databasen när flera användare uppdaterar rader samtidigt. Du kanske vill veta hur många rader och vilka rader som uppdaterades utan att fråga tabellen igen.

Anta att du skapar en tabell som heter MinTest. Du kan fylla i data i tabellen genom att köra följande Transact-SQL-uttryck.

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 sedan använda följande exempel Transact-SQL-satser för att implementera optimistisk simultan kontroll i tabellen MinTest under uppdateringen.

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 är tidsstämpel kolumnvärde för den rad som anger den senaste gången du läsa raden. Det här värdet måste ersättas med verkliga tidsstämpel -värdet. Ett exempel på verkliga tidsstämpel -värdet är 0x00000000000007D3.

Du kan också placera provet Transact-SQL-uttryck i en transaktion. Du kan hämta uppdaterade MinNyckel -kolumnen i tabellen utan att fråga MinTest tabellen igen efter variabeln @t omfattas av transaktionen.

Mer information om kolumntypen tidsstämpel finns på följande Microsoft Developer Network (MSDN)-webbplats:

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

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?

Tack för din feedback!

×