Как да използвате колоната клеймо за оптимистична съвпадение контрола в SQL Server 2005

Въведение

Клеймо колона на таблица може да се използва за определяне дали стойност в реда на таблица се е променило след последното таблицата е четене. Тази статия се описва начин за използване на колоната клеймо за оптимистична съвпадение контрола в Microsoft SQL Server 2005.

Допълнителна информация

Можете да добавите клеймо колона в таблица за поддържане целостта на базата данни, когато няколко потребители актуализирате редове едновременно. Можете също да знаем колко редове и кои редове са актуализирани без повторно запитване таблицата.

Например да приемем, че създавате таблица, която се нарича MyTest. Попълване на данни в таблица чрез изпълнение на следните Transact-SQL отчети.

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

Можете да използвате следните примерни Transact-SQL команди за изпълнение оптимистична паралелно управление на таблицата MyTest по време на актуализация.

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

Забележка TSValue е времевата стойност в колоната за реда, който показва последното четете ред. Тази стойност трябва да се заменя стойността на действителния клеймо . Пример за действителната timestamp е 0x00000000000007D3.

Можете да проба Transact-SQL отчети в транзакцията. Като запитване @t променливи в рамките на транзакция, можете да извлечете актуализираните myKey колона на таблицата без повторно запитване таблицата MyTest .

За повече информация относно типа клеймо колона посетете следния уеб сайт на Microsoft Developer Network (MSDN):

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

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×