كيفية استخدام عمود timestamp جدول لعنصر تحكم التوافق الأمثل في SQL Server 2005


مقدمة


يمكن استخدام عمود timestamp جدولاً لتحديد ما إذا كان أي قيمة في صف الجدول قد تغير منذ آخر مرة تم قراءة الجدول. توضح هذه المقالة طريقة لاستخدام عمود timestamp جدول لعنصر تحكم التوافق الأمثل في Microsoft SQL Server 2005.

مزيد من المعلومات


يمكنك إضافة عمود timestamp لجدول للمساعدة في المحافظة على سلامة قاعدة البيانات عندما العديد من المستخدمين تحديث الصفوف في نفس الوقت. قد تحتاج أيضا إلى معرفة عدد الصفوف والصفوف التي تم تحديثها دون إعادة استعلام الجدول.

على سبيل المثال، افترض أن تقوم بإنشاء جدول يسمى 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
ملاحظة: تسفالوي هي قيمة عمود timestamp للصف الذي يشير إلى آخر مرة قراءة الصف. يجب استبدال هذه القيمة بالقيمة الفعلية الطابع الزمني . مثال للقيمة الفعلية الطابع الزمني هو 0x00000000000007D3.

يمكنك أيضا وضع عبارات SQL للعمليات عينة في حركة. عن طريق الاستعلام عن متغير @t في نطاق الحركة، يمكنك استرداد عمود المحدثة myKey الجدول دون إعادة استعلام الجدول MyTest .

لمزيد من المعلومات حول نوع العمود الطابع الزمني ، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب: