Làm thế nào để sử dụng cột dấu thời gian của bảng điều khiển lạc quan song song trong SQL Server 2005

GIỚI THIỆU

Cột dấu thời gian của bảng có thể được sử dụng để xác định xem bất kỳ giá trị trong bảng hàng đã thay đổi kể từ lần cuối bảng được đọc. Bài viết này mô tả cách sử dụng cột dấu thời gian của bảng điều khiển lạc quan song song trong Microsoft SQL Server 2005.

Thông tin

Bạn có thể thêm một dấu thời gian cột bảng để giúp duy trì tính toàn vẹn của cơ sở dữ liệu khi nhiều người dùng Cập nhật hàng cùng một lúc. Bạn cũng có thể muốn biết bao nhiêu hàng và hàng nào được Cập Nhật không lại truy vấn bảng.

Ví dụ: giả sử rằng bạn tạo một bảng có tên MyTest. Bạn xác định một số dữ liệu trong bảng bằng cách chạy câu lệnh Transact-SQL sau.

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

Bạn có thể sử dụng câu lệnh Transact-SQL sau mẫu để thực hiện điều khiển lạc quan song song trên bảng MyTest trong bản Cập Nhật.

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

Lưu ý TSValue là giá trị cột gian hàng cho biết lần cuối cùng bạn đọc dòng. Giá trị này phải được thay thế bằng giá trị thực dấu thời gian . Ví dụ về giá trị thực gian là 0x00000000000007D3.

Bạn cũng có thể đặt câu lệnh Transact-SQL mẫu vào một giao dịch. Bằng cách truy vấn @t biến trong phạm vi của các giao dịch, bạn có thể lấy cột Cập Nhật myKey bảng không lại truy vấn bảng MyTest .

Để biết thêm thông tin về loại cột dấu thời gian , ghé thăm Web site sau của Microsoft Developer Network (MSDN):

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

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×