Oracle ALTER SEQUENCE من خلال أمثلة عملية

Oracle Alter Sequence Mn Khlal Amthlt Mlyt



في Oracle ، التسلسل هو كائن قاعدة بيانات يقوم بإنشاء سلسلة فريدة من الأعداد الصحيحة التي يمكن استخدامها كمفتاح أساسي أو لأي غرض آخر حيث يلزم وجود رقم فريد. يعد ALTER SEQUENCE أداة قوية في Oracle تسمح لك بتعديل سمات تسلسل في قاعدة البيانات. قد يبدو الأمر ALTER SEQUENCE أمرًا شاقًا في البداية ، لكن الأمثلة العملية يمكن أن تساعدك على فهم إمكاناته الكاملة والاستفادة منها.

سيغطي هذا الدليل الأمثلة التالية:

أعد تعيين قيمة التسلسل

لإعادة تعيين قيمة التسلسل أو إعادة تشغيل قيمة التسلسل من قيمتها الابتدائية ، يتم ' تغيير التسلسل 'الأمر مع' إعادة تشغيل يمكن استخدام عبارة '. المثال أدناه:







ALTER SEQUENCE LINUXHINT_SEQ RESTART ؛

في الأمر أعلاه ، ' LINUXHINT_SEQ 'يمثل اسم التسلسل.



انتاج |



يوضح الإخراج أنه تمت إعادة تعيين التسلسل.





قم بتغيير القيم الدنيا للتسلسل

عندما يتم إنشاء تسلسل في Oracle ، يتم افتراضيًا تعيين الحد الأدنى لقيمته على 1. يتم تعيين ' تغيير التسلسل 'الأمر مع' MINVALUE يمكن استخدام عبارة 'لتغيير الحد الأدنى لقيمة التسلسل. المثال أدناه:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1 ؛

في هذا المثال ، القيمة الدنيا الجديدة هي -1 .



انتاج |

أظهر الإخراج أن الحد الأدنى للقيمة قد تم تغييره.

قم بتغيير القيم القصوى للتسلسل

بشكل افتراضي ، الحد الأقصى لقيمة تسلسل أوراكل هو '10 ^ 27 - 1' ، وهي أكبر قيمة ممكنة لرقم عشري مكون من 38 رقمًا. لتغيير الحد الأقصى لقيمة التسلسل ، فإن ' تغيير التسلسل 'الأمر مع' قيمة الحد الأقصى يمكن استخدام عبارة '. يتم توفير المثال أدناه:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000 ؛

في المثال أعلاه ، ستكون القيمة القصوى الجديدة 1000 .

انتاج |

في لقطة الشاشة ، يمكن ملاحظة أنه تم تغيير الحد الأقصى للقيمة.

ملحوظة : في المثال أعلاه ، سيتوقف التسلسل عن توليد القيم بعد أن يصل إلى 1000 ، وستؤدي أي محاولات لتوليد قيمة تتجاوز تلك النقطة إلى حدوث خطأ.

تغيير حجم التخزين المؤقت للتسلسل

يحدد حجم ذاكرة التخزين المؤقت عدد أرقام التسلسل التي تم تخصيصها مسبقًا وتخزينها في الذاكرة للوصول بشكل أسرع. لتغيير حجم ذاكرة التخزين المؤقت للتسلسل ، استخدم ' مخبأ 'مع' تغيير التسلسل ' يأمر. وفيما يلي مثال على ذلك:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50 ؛

في المثال أعلاه ، تم تعيين حجم ذاكرة التخزين المؤقت للتسلسل على خمسون . هذا يعني أن الرقم التسلسلي 50 سيتم تخصيصه مسبقًا في كل مرة للوصول بشكل أسرع.

انتاج |

يوضح الإخراج أنه تم تغيير حجم ذاكرة التخزين المؤقت.

قم بتعيين حجم وترتيب تسلسل ذاكرة التخزين المؤقت

لتعيين حجم ذاكرة التخزين المؤقت للتسلسل وإنشاء أرقام التسلسل بالترتيب ، استخدم ' طلب ' و ' مخبأ 'الجمل التي تحتوي على' تغيير التسلسل ' يأمر. هنا مثال:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER ؛

في هذا المثال ، ستكون قيمة حجم ذاكرة التخزين المؤقت الجديدة 100 .

انتاج |

عرض الإخراج أنه تم إجراء التغييرات على التسلسل.

عيّن التسلسل لتوليد القيم التنازلية

يتم تحديد الفاصل الزمني بين أرقام التسلسل بواسطة رقم الزيادة. يتم تعيين قيمة الزيادة على 1 افتراضيًا ، مما يعني أن الرقم التالي في السلسلة يتم إرجاعه في كل مرة يتم فيها استدعاء التسلسل. عندما يتم تعيين الزيادة إلى -1 ، يولد التسلسل أعدادًا صحيحة بترتيب تنازلي.

لتعيين التسلسل لتوليد القيم التنازلية ، استخدم ' زيادة بواسطة ' مع ال ' تغيير التسلسل 'الأمر وتعيين القيمة إلى -1. المثال أدناه:

ALTER SEQUENCE LINUXHINT_SEQ زيادة بمقدار -1 ؛

في هذا المثال ، القيمة هي -1 ، مما يعني أنه في كل مرة يتم استدعاء التسلسل ، يتم إرجاع الرقم السابق في التسلسل.

انتاج |

يوضح الإخراج أنه تم تعيين التسلسل لتوليد قيم تنازلية.

قم بتغيير قيمة الزيادة في التسلسل

لتغيير قيمة الزيادة في التسلسل ، استخدم ' زيادة بواسطة ' مع ال ' تغيير التسلسل 'وقم بتعيين القيمة وفقًا لذلك. يتم توفير المثال أدناه:

ALTER SEQUENCE LINUXHINT_SEQ زيادة بمقدار 2 ؛

في هذا المثال ، القيمة هي 2 ، مما يعني أنه في كل مرة يتم استدعاء التسلسل ، سيتم زيادة الرقم التالي في التسلسل بمقدار 2.

انتاج |

أظهر الإخراج أنه تم تغيير التسلسل وفقًا لذلك.

قم بتعديل التسلسل لتمكين خيار الدورة

عندما يتم تمكين خيار الدورة للتسلسل ، سوف يلتف التسلسل ويبدأ مرة أخرى من البداية (MINVALUE) بمجرد أن يصل إلى القيمة القصوى (MAXVALUE). لتمكين هذا الخيار ، استخدم ' دورة 'مع' تغيير التسلسل ' يأمر. المثال أدناه:

تغيير تسلسل LINUXHINT_SEQ CYCLE ؛

انتاج |

عرض الإخراج تم تمكين خيار الدورة.

قم بتعديل التسلسل لتعطيل الدورة

عندما يتم تعطيل خيار الدورة للتسلسل ، سيتوقف التسلسل عن إنشاء القيم بمجرد وصوله إلى قيمته القصوى (MAXVALUE) أو الحد الأدنى للقيمة (MINVALUE) ، اعتمادًا على ترتيب التوليد. لتعطيل هذا الخيار ، استخدم عبارة 'NOCYCLE' مع الأمر 'ALTER SEQUENCE'. يتم توفير المثال أدناه:

تغيير تسلسل LINUXHINT_SEQ NOCYCLE ؛

انتاج |

أظهر الإخراج أنه تم تعطيل خيار الدورة.

قم بتعديل التسلسل لتعديل خيارات متعددة

اكتب الأمر المحدد لتعيين التسلسل بحيث يكون له زيادة سالبة بمقدار -1 ، وقيمة قصوى قدرها 10 ، وتمكين خيار دورة:

تغيير تسلسل LINUXHINT_SEQ زيادة بمقدار -1 MAXVALUE 10 CYCLE ؛

انتاج |

أظهر الإخراج أنه تم إجراء التغييرات على التسلسل بنجاح.

خاتمة

في Oracle ، ' تغيير التسلسل يسمح لك الأمر 'بتغيير سمات التسلسل عن طريق إعادة تعيين قيمة التسلسل ، وتغيير الحد الأدنى والحد الأقصى للقيم ، وقيمة الزيادة ، وحجم التخزين المؤقت ، والترتيب ، وتمكين خيار الدورة أو تعطيله. هذه التغييرات مفيدة في العديد من الظروف ، مثل عندما تحتاج إلى تغيير قيمة البداية لتسلسل أو ضبط حجم التخزين المؤقت للحصول على أداء أفضل. أوضح هذا المنشور حالات استخدام مختلفة لأمر ALTER SEQUENCE باستخدام أمثلة عملية.