如何使用時間戳記資料行,資料表的 SQL Server 2005 中的開放式並行存取控制項

簡介

資料表的時間戳記資料行可用來判斷自從上次讀取資料表是否已變更資料表資料列中的任何值。本文將說明使用開放式並行存取控制項,在 Microsoft SQL Server 2005年中的時間戳記資料行,資料表的一種方式。

更多的資訊

您可以新增時間戳記資料行至資料表,以協助維護資料庫的完整性,當多位使用者同時更新資料列。您也可以知道多少資料列,以及哪些資料列已更新不需重新查詢的資料表。

例如,假設您建立一個名為MyTest的資料表。您可以執行下列的異動性 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

下列範例考慮改用 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是時間戳記資料行的值,指出上次您讀取該資料列的資料列。這個值必須由最實際的時間戳記值取代。實際的時間戳記值的範例是 0x00000000000007D3。

您也可以使範例考慮改用 SQL 陳述式,為交易。藉由查詢在交易範圍中的@t變數,您可以不需重新查詢MyTest資料表來擷取更新的myKey資料行的資料表。

如需有關時間戳記資料行類型的詳細資訊,請造訪下列 Microsoft 開發人員網路 (MSDN) 網站:

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

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×