close
دانلود فیلم
دنباله اعداد در Denali

دنباله اعداد يا Sequence Numbers ويژگي جديدي تو نسخه 2011 اسكيوال سرور(Denali)ه كه خيلي وقته تو Oracle وجود داشته.
Oracle has had sequences since SQL Server was only a gleam in the eye of Mr. Gates.
بر اساس تعريف ي كه تو Books on Line اومده sequence number "يك شي محدود به schema ي تعريف شده توسط كاربرهست كه برا اساس مشخصات ابتدايي ساختش دنباله ي از اعداد رو توليد ميكنه"


براي ايجاد Sequence تستي از كد زير استفاده ميكنيم

--ساختن اسكيما
CREATE SCHEMA Test ;
GO

-- ساختن جدول
CREATE TABLE Test.Orders
(OrderID int PRIMARY KEY,
Name varchar(20) NOT NULL,
Qty int NOT NULL);
GO

-- ساختن دنباله
CREATE SEQUENCE Test.CountBy1
START WITH 1
INCREMENT BY 1 ;
GO

-- اضافه كردن ركورد
INSERT Test.Orders (OrderID, Name, Qty)
VALUES (NEXT VALUE FOR Test.CountBy1, 'Tire', 2) ;
INSERT test.Orders (OrderID, Name, Qty)
VALUES (NEXT VALUE FOR Test.CountBy1, 'Seat', 1) ;
INSERT test.Orders (OrderID, Name, Qty)
VALUES (NEXT VALUE FOR Test.CountBy1, 'Brake', 1) ;
GO

-- ديدن نتيجه
SELECT * FROM Test.Orders ;
GO

خروجي

OrderID Name Qty

1 Tire 2

2 Seat 1

3 Brake 2

تفاوت هاي بين Sequence و IDENTITY رو تو شكل زير ميتونيد ببينيد

جاهايي كه خوبه از Sequence استفاده كرد

1-داشتن مقدار قبل از اضافه كردن تو جدول براي مثال دادن شماره خريد تو يك سايت آنلاين قبل از ثبت اون تو جدول

2-استفاده كردن از يك مقدار تو چند جدول براي مثال فرض كنيد براي لاگ كردن رويداد هاي يك كارگاه از چند جدول استفاده كرديد ولي ميخواهيد كه برفرض اگه رويدادي با شماره يك تو جدول A ثبت شد رويداد بعدي با شماره 2 مثلا تو جدول B ثبت بشه

البته از اين ويژگي يه تعبير ديگه ي هم هست كه من زياد متوجه نشدم داشتن يك عدد واحد براي مثلا شماره گروه كالا تو چندين جدول در صورتي كه با كليد خارجي ما اين مكانيزم رو داريم!!!

3-داشتن يك حلقه cycle اتومات براي مثال فكر كنيد شماره گذاري داريد كه ميخواهيد بعد از رسيدن به عدد 100 دوباره از 1 بهتون عدد بده همون DBCC CHECKIDENT كردن تو ستون هاي IDENTITY

به نقل از .NET Develpopment

لینک کوتاه پست
مطالب مرتبط با پست جاری
  • نکات مهم
    1- لطفا نظر خود را با زبان فارسی بیان کنید
    2- رایتم نظرات اسپم و تبلیغی شما را تایید نمی کند
    3- لطفا نظرات شما بدون ابهام و واضح باشد
  • نام
    ایمیل (منتشر نمی‌شود) (لازم)
    وبسایت
    :):(;):D;)):X:?:P:*=((:O@};-:B/:):S
    نظر خصوصی
    مشخصات شما ذخیره شود ؟[حذف مشخصات] [شکلک ها]
    کد امنیتی
به کانال تلگرام سایت ما بپیوندید