View Full Version : در فیلد AutoNumber چه عدی ثبت می شود؟
S_VB.max
سه شنبه 25 مرداد 1390, 08:33 صبح
سلام
یکی از فیلدهای جدولم AutoNumber است می خوام متوجه بشم اگر دستور Insert اجرا شد در این فیلد چه عددی ثبت می شود
آیا دستور خاصی برای این کار وجود دارد؟
Galawij
سه شنبه 25 مرداد 1390, 08:54 صبح
نتیجه تابع () Scope_Identity را داخل یک متغیر بریزید.
S_VB.max
سه شنبه 25 مرداد 1390, 10:16 صبح
ممنون دوست عزیز
حالا چجوری قبل از اینکه دستور insert اجرا بشه متوجه بشم ؟
Galawij
سه شنبه 25 مرداد 1390, 10:45 صبح
Declare @MaxId Bigint Select @MaxId=MAX(YourTableName) From YourTableName
S_VB.max
سه شنبه 25 مرداد 1390, 10:54 صبح
Declare @MaxId Bigint Select @MaxId=MAX(YourTableName) From YourTableName
این دستور بزرگترین عدد فیلد را بدست میاره در صورتی که من می خوام قبل از اینکه دستور insert اجرا بشه بدونم چه عددی در فیلد مربوطه ثبت میشه
Galawij
سه شنبه 25 مرداد 1390, 11:23 صبح
SELECT IDENT_CURRENT('YourTableName')
دوست عزیز وقتی فیلد شما از نوع AutoNumber هست، مقادیر فیلد در جدول یکی یکی اضافه می شود. وقتی مقدار شما در حال حاضر 500 هست رکورد بعدی مقدار 501 را می گیرد.
دستوری برای اینکه بدونیم قرار هست چی ثبت بشه نداریم مگر اینکه دستی تنظیم کنیم.
ebrahimv
سه شنبه 25 مرداد 1390, 14:51 عصر
منم همين سوال رو دارم
فقط اينو در نظر بگيريد كه برنامه بر روي شبكه هست و امكان داره برداشتن بزرگترين مقدار مقدار اشتباهي برگردونه
در واقع من ميخوام بعد از دستور Insert بدونم مقدار فيلدي AutoNumber چي هست ؟
bia2joker
سه شنبه 25 مرداد 1390, 15:52 عصر
SELECT IDENT_CURRENT('YourTableName')
دوست عزیز وقتی فیلد شما از نوع AutoNumber هست، مقادیر فیلد در جدول یکی یکی اضافه می شود. وقتی مقدار شما در حال حاضر 500 هست رکورد بعدی مقدار 501 را می گیرد.
دستوری برای اینکه بدونیم قرار هست چی ثبت بشه نداریم مگر اینکه دستی تنظیم کنیم.
این روش یه مشکلی دارد این است که مثلا ما 500 رکورد داریم و آخریش هم 500 هستش حالا یه رکورد جدید به جدول اضافه کنیم میشه 501 رکورد 501 رو اگه از جدول حذف کنیم میشه همون جدول اولیه که اگه دوباره بخواهیم یک رکورد اضافه کنیم 501 نمیشه در واقع میشه 502
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.