PDA

View Full Version : سوال: rowversion



asd_moghadas
چهارشنبه 26 فروردین 1388, 07:22 صبح
کسی میدونه از rowversion در جداول چگونه استفاده کنیم یکی ازدوستان این جواب رادرمورد سوال من که نوشته بودم چگونه از عملیات چند کاربر بروی یک رکود به صورت همزمان (حذف و ویرایش و...)جکوگیری کنیم نوشته بودند ممنون میشم اگه این روش درسته راهنمایی کنید واگه نیست کمک دراین رابطه

amin_alexi
چهارشنبه 26 فروردین 1388, 13:55 عصر
سلام
برای دسترسی همزمان به اطلاعات می شه هم از rowversion استفاده کرد و هم از timestamp که هنگام تعریف جدول به صورت زیر استفاده میشه

CREATE TABLE ExampleTable2 (PriKey int PRIMARY KEY, VerCol rowversion)

CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp)

که برای تعریف rowversion نیاز به نام فیلد است و برای تعریف نوع timestamp خیر !
rowversion یک synonym برای timestamp پس نوع هر دو یکه !!
اما نحوه استفاده :
به ازای Insert در یک جدول یک مقدار در این فیلد (rowversion ) به صورت اتوماتیک ذخیره میشه !
حالا اگه Update کنی این مقدار عوض میشه ! با این مقدار می تونید در برنامه کنترل لازم رو انجام بدین !

red11011
پنج شنبه 27 فروردین 1388, 08:20 صبح
روی سیستم من فقط timestamp وجود داره و نوع rowversion را من در Enterprise Manager نمیبینم لطفا بگید علت چیه در ضمن وقتی یک یا چند رکورد تو تیبل خودم ایجاد میکنم مقدار فیلدم رو بصورت <Binary> میبینم مگه نباید مقادیر عددی اینجا دیده بشه؟من از sql server 2000 استفاده میکنم
ممنون

amin_alexi
پنج شنبه 27 فروردین 1388, 09:11 صبح
روی سیستم من فقط timestamp وجود داره و نوع rowversion را من در Enterprise Manager نمیبینم لطفا بگید علت چیه
خیلی چیزا در Enterprise Manager دیده نمیشه ! بلکه فقط دستور SQL داره ....

در ضمن وقتی یک یا چند رکورد تو تیبل خودم ایجاد میکنم مقدار فیلدم رو بصورت <Binary> میبینم مگه نباید مقادیر عددی اینجا دیده بشه؟من از sql server 2000 استفاده میکنم
ممنون
تا اونجا که می دونم نوع فیلد از نوع باینریه و 8 بایت فضا میگیره !
و برای این کار که قراره Version یک Record رو تست کنه مناسبه !
شما می خواین در فرایند دسترسی همزمان بررسی کنید که آیا مقداری که واکشی شده تغییر کرده یا نه ؟!

red11011
شنبه 29 فروردین 1388, 12:37 عصر
سلام جناب مداح
تو کتاب اموزش SQL در 21 روز از انتشارات نص صفحه 257 خط یکی مانده به آخر در مورد این فیلد اینجوری نوشته که این نوع فیلد که بحث این تایپیک هم هست یک فیلد است که یک شمارنده افزاینده متوالی ایجاد میکنه در صورتی که روی سیستم من اینکار انجام نمیشه و چنین فیلدی وجود نداره
کجای این سوا ل مربوط به تایپیک ایجاد شده نمیباشد !!!!