تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الحلقة الثانية: الجديد في السيكوال سيرفر 2012
#1
السلام عليكم اخواني واحبائي...
اعود اليكم اليوم لأكمال الحلقات حول السيكوال سيرفر 2012 وما جاء به من جديد التي تسر الصديق وتبغض العدو ^_^ لمتابعة الحلقة الاولى (http://vb4arb.com/vb/showthread.php?362-...erver-2012)

الكل يعلم ان السيكوال سيرفر في اتجاه Developer قد جاء بأنقلابات ثورية في مجال تعزيز الـ virtualization بالاضافة الى دعم Cloud Server من اجل تثبيت نفسها في سوق Cloud application

لنبدأ على بركة الله

1-SEQUENCE Object

لعل اول ميزة قد تجلب الانتباه والتي تم تسليط الضوء عليها كثيرآ من قبل مايكروسوفت هو SEQUENCE Object وهو عبارة عن كائن تسلسلي يستخدم من اجل انشاء سلسلة من القيم الرقمية استنادآ الى الخصائص التي حددت اثناء انشاءه, من ميزاته هو اننا نستطيع ان ننشأ هذا الكائن ويقوم بتوليد قيم بشكل تصاعدي او تنازلي وكذلك يمكننا من ان نقوم بأعداد هذا الكائن لكي يدور ويعيد نفسه من البداية عند وصوله للنهاية (اي يدور بنفس الحلقة التكرارية ) ,وعالعكس من خاصية Columns Identity فأنه لا يرتبط مع الجداول >>

الجميل بهذا الكائن الجديد أنه بأمكانك ان تقوم بأستدعاء القيمة الجديدة للمتسلسلة وان تتوقعها وذلك من خلال جملة NEXT VALUE FOR SeqNAme.

يجدر بالاشارة ان العلاقة بين هذا الكائن والجداول تتم عن طريق البرامج والتطبيقات

جملة انشاء هذا الكائن

كود :
CREATE SEQUENCE [schema_name . ] sequence_name
    [ AS [ built_in_integer_type | user-defined_integer_type ] ]
    [ START WITH <constant> ]
    [ INCREMENT BY <constant> ]
    [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ]
    [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ]
    [ CYCLE | { NO CYCLE } ]
    [ { CACHE [ <constant> ] } | { NO CACHE } ]
    [ ; ]

مثال حول انشاء هذا الكائن

كود :
CREATE SEQUENCE testSchema.eGilgameshSeq
START WITH 1
INCREMENT BY 1
MINVALUE 1
NO MAXVALUE
NO CYCLE;

لشرح الكود السابق نجد ان الكائن السلسلة يبدأ عند القيمة 1 ويزداد بمقدار واحد في كل مرة يتم استدعاء Next value for كما انه ليس هناك حد اقصى لهذا Sequence اي انه سوف يتكرر الى مالانهاية
مع الملاحظة ان القيمة التي ابتدأ بها (start with) هذا الكائن يجب ان تكون قيمة لا تكون اكبر او تساوي الـ MaxValue وبنفس الوقت يجب ان تكون أقل او تساوي الـ Minvalue, وفي حالة عدم ذكر قيمة الخاصية Start with فأنها سوف تأخذ القيمة الافتراضية والتي تساوي الـ minvalue

مثال ثاني

كود :
CREATE SEQUENCE  testSchema.eGilgameshSeq2
START WITH -10
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10
CYCLE;

شرح المثال :نجد ان الكائن Sequence يبدأ بالقيمة -10 ويزداد بمقدار واحد وصولآ للقيمة 10 وكذلك في هذا المثال نجد ان الخاصية Cycle فعالة اي انه بمجرد ان تنتهي الدورة الاولى للـ Sequence سوف يعيد نفسه ولكن هذه المرة ليس من نفس المنطقة التي انطلق منها بل من قيمة الحد الادنى.....


ولاستخدام قيم الـ Sequence نقوم بأستخدام جملة"NEXT VALUE FOR " كما ذكرنا سابقآ كالمثال التالي


كود :
SELECT NEXT VALUE FOR  testSchema.eGilgameshSeq as IdentityFromSequence;

الكود الاخير يقوم بأسترجاع القيمة الحالية للكائن testSchema.eGilgameshSeq مهما كانت قيمته ومن ثم يقوم بزيادته حسب ما جاء في الـ Rule عندما انشئناه

اسلوب اخر لأستخدام هذا الكائن في جملة الـ Insert

كود :
INSERT testTable (myColumn)
VALUES (NEXT VALUE FOR testSchema.eGilgameshSeq);


كما يمكننا من اسناد قيمته لمتغير خاص كما في المثال التالي

كود :
SET @x=NEXT VALUE FOR testSchema.eGilgameshSeq;

يتبقى ان نشير الى فائدة الخاصية CACHE , فهي تقوم بزيادة فعالية وتحسين اداء التطبيقات التي تستخدم الكائن sequence وذلك من خلال تقليل عدد الـ disk IOs المستخدمة والمطلوبة لأنشاء وتوليد المتسلسلة الرقمية
على سبيل المثال، إذا تم اختيار CACHE من 50، SQL Server لايقوم بالاحتفاظ بـ 50 قيمة مخزنة بشكل مؤقت. بل انه يقوم فقط بتخزين القيمة الحالية وترك عدد من القيم الموجودة في ذاكرة التخزين المؤقت. هذا يعني أن كمية الذاكرة المطلوبة لتخزين ذاكرة التخزين المؤقت هو دائما عبارة عن two instances من نوع بيانات كائن التسلسل.


يجدر الاشارة الى أن هذا الكائن هو كائن مرتبط بالسكيما حاله حال العناصر الاخرى المتواجدة في السيكوال....
اي ان استخدام احد هذه الجمل CREATE SEQUENCE, ALTER,control يحتاج الى صلاحية (permission) في السكيما التي سوف يرتبط بها هذا الكائن وذلك عن طريق
اعطاء التخويل بالـ Database rule التالي

1-db_owner و db_ddladmin لكي يمكننا من استخدام Create ,Control,Alter
2-db_owner و db_datawriter لكي يمكننا من استخدام جملة "next value for " من اجل استدعاء القيمة الجديدة للـ Sequence .

وللمزيد من المعلومات حول هذا الكائن تفضل بزيارة الرابط
http://msdn.microsoft.com/en-us/library/....110).aspx
الرد }}}
تم الشكر بواسطة:
#2
كائن ولا اروع عاشت الايادي شرح جميل
مدونتي
صفحتي على الفيسبوك

MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
الرد }}}
تم الشكر بواسطة:
#3
إقتباس :كائن ولا اروع عاشت الايادي شرح جميل

حبيبي عمر مشتاقين قلبي
منور صديقي خلينا نسمع اخبارك الطيبة ^_^
الرد }}}
تم الشكر بواسطة:
#4
اتمنى لو يتم نقله لقسم مقالات السيكوال سيرفر
الرد }}}
تم الشكر بواسطة:
#5
تم النقل الى القسم المناسب
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}
تم الشكر بواسطة:
#6
smss كتب :تم النقل الى القسم المناسب

اشكرك حبي ممنون منك
الرد }}}
تم الشكر بواسطة:
#7
اى خدمة حبيبي _^_^//اتمني مواصل الدروس
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}
تم الشكر بواسطة:
#8
إقتباس :اى خدمة حبيبي _^_^//اتمني مواصل الدروس

نسأل الله دوام العافية والصحة فأنها الوحيدة التي تمنعنا من المواصلة
ان شاء الله على تواصل من اجل تحقيق الغاية المبتغاة من المنتدى
الرد }}}
تم الشكر بواسطة:
#9
عودتنا اناملك الرائعة على مواضيعك الشيقة
تقبل مروري وتحياتي
الرد }}}
تم الشكر بواسطة:
#10
إقتباس :عودتنا اناملك الرائعة على مواضيعك الشيقة
تقبل مروري وتحياتي

لك مني خالص الود اخي محمد منور الموضوع نتمنى ان نرى ابداعك
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة حفظ استعلام sql server 2012 an9e1u2 1 2,308 17-12-17, 10:17 PM
آخر رد: ahmedmansour
  ترحيل البيانات من السيرفر المحلي الى الويب سيرفر max_1978 1 2,211 16-01-17, 09:01 PM
آخر رد: مساعدة
  كيفية عمل ftb للاسيكوال سيرفر WAEL ABED 1 2,224 31-10-16, 05:04 AM
آخر رد: أبو عمر
  [مقال] ترحيل البيانات من السيرفر المحلي الى الويب سيرفر - Transfer Data From Local To web ابو ليلى 4 11,715 07-09-16, 03:51 AM
آخر رد: ابو ليلى
  [سلسلة تعليمية] فيديو يلخص احتراف التعامل مع السيكوال سيرفر من البداية tarek 0 2,587 03-05-16, 04:00 AM
آخر رد: tarek
  [SQL] SQL SERVER 2012 adel27 1 2,955 21-12-15, 09:08 PM
آخر رد: عمر المستشار
  File table in SQL Server 2012 عمر المستشار 0 3,880 10-12-13, 11:33 AM
آخر رد: عمر المستشار
  الحلقة الثالثة: الجديد في السيكوال سيرفر 2012 شرح دالة ال Format عمر المستشار 6 5,772 27-10-12, 09:45 AM
آخر رد: عمر المستشار
  الإسطوانة الأروع لتعلم السيكوال سيرفر 2000 RaggiTech 0 2,533 21-10-12, 07:20 PM
آخر رد: RaggiTech
  دوال الوقت والتاريخ الجديدة المضافة بـ sql server 2012 كلكامش الألكتروني 7 6,420 02-10-12, 05:33 PM
آخر رد: smss

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم