كتلة PL/SQL: البنية، بناء الجملة، ومثال مجهول
⚡ ملخص ذكي
كتلة PL/SQL هي الوحدة الأساسية التي تجمع تعليمات PL/SQL وSQL بحيث يتم تنفيذها معًا بدلاً من تنفيذها سطرًا بسطر. تحتوي كل كتلة على قسم للإعلان، وقسم للتنفيذ، وقسم لمعالجة الاستثناءات، وتكون الكتل إما مجهولة أو مُسماة.

ما هي كتلة PL/SQL؟
في لغة PL/SQL، لا يتم تنفيذ التعليمات البرمجية في شكل سطر واحد؛ بل يتم تنفيذها دائمًا بواسطة مجموعاتping يُقسّم الكود إلى عنصر واحد يُسمى كتلة. في هذا الدرس، ستتعرف على هذه الكتل.
تحتوي الكتل على تعليمات PL/SQL وتعليمات SQL. يتم تنفيذ جميع هذه التعليمات كوحدة واحدة بدلاً من تنفيذها واحدة تلو الأخرى.
هيكل بلوك
تتميز كتل PL/SQL ببنية محددة مسبقًا يتم فيها تجميع التعليمات البرمجية. فيما يلي الأقسام المختلفة لكتلة PL/SQL:
- قسم التصريح
- قسم التنفيذ
- قسم معالجة الاستثناءات
توضح الصورة أدناه أقسام كتلة PL/SQL المختلفة وترتيبها.
قسم الإعلان
هذا هو القسم الأول من كتلة PL/SQL، وهو اختياري. في هذا القسم، تُعلن المتغيرات والمؤشرات والاستثناءات والبرامج الفرعية وتعليمات pragma والمجموعات اللازمة للكتلة. إليك بعض الخصائص الأخرى لهذا الجزء:
- هذا القسم اختياري ويمكن تخطيه إذا لم تكن هناك حاجة إلى تقديم أي إقرارات.
- ينبغي أن يكون هذا هو القسم الأول في كتلة PL/SQL، إن وجدت.
- يبدأ الأمر بالكلمة المفتاحية 'DECLARE' للمشغلات والكتل المجهولة. أما بالنسبة للبرامج الفرعية الأخرى، فلا توجد هذه الكلمة المفتاحية؛ بل يشير الجزء الذي يلي اسم البرنامج الفرعي إلى قسم التصريح.
- يجب أن يتبع ذلك دائمًا قسم التنفيذ.
قسم التنفيذ
يُعد جزء التنفيذ هو الجزء الرئيسي والضروري الذي يقوم فعلياً بتنفيذ الكود المكتوب بداخله. PL / SQL يتوقع هذا الجزء عبارات قابلة للتنفيذ، ولا يمكن أن يكون فارغًا، ويجب أن يحتوي على سطر تنفيذي واحد على الأقل. فيما يلي بعض الخصائص الأخرى لهذا الجزء:
- يمكن أن يحتوي على كل من كود PL/SQL وكود SQL.
- يمكن أن يحتوي على كتلة واحدة أو عدة كتل بداخله ككتل متداخلة.
- يبدأ الأمر بالكلمة المفتاحية 'BEGIN'.
- يجب أن يتبعه إما كلمة "نهاية" أو قسم معالجة الاستثناءات، إن وجد.
قسم معالجة الاستثناءات
الاستثناءات هي أخطاء لا مفر منها تحدث أثناء التشغيل، وللتعامل معها Oracle يُوفّر هذا القسم قسمًا لمعالجة الاستثناءات في كتل. ويمكن أن يحتوي هذا القسم أيضًا على عبارات PL/SQL، وهو اختياري.
- هذا هو القسم الذي يتم فيه التعامل مع الاستثناء الذي تم رفعه في كتلة التنفيذ.
- إنه الجزء الأخير من كتلة PL/SQL.
- لا يمكن مطلقًا عودة التحكم من هذا القسم إلى كتلة التنفيذ.
- يبدأ الأمر بالكلمة المفتاحية "استثناء".
- يجب أن يتبعها دائماً الكلمة المفتاحية 'END'.
تشير الكلمة المفتاحية 'END' إلى نهاية كتلة PL/SQL.
بناء جملة كتلة PL/SQL
يوجد أدناه بناء جملة بنية كتلة PL/SQL.
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
ملاحظة: يجب أن يتبع الكتلة دائمًا الرمز '/'، والذي يرسل معلومات إلى المترجم حول نهاية الكتلة.
أنواع كتل PL/SQL
تتكون كتل PL/SQL بشكل أساسي من نوعين:
- كتل مجهولة
- الكتل المسماة
تتم مقارنة الاثنين بإيجاز أدناه قبل وصف كل منهما.
| البعد | كتلة مجهولة | كتلة مسماة |
|---|---|---|
| له اسم | لا | نعم |
| مخزنة في قاعدة البيانات | لا | نعم، ككائن |
| ابدا ب | أعلن أو ابدأ | خلق |
| قابلة لإعادة الاستخدام | نفس الجلسة فقط | يمكن الاتصال في أي وقت |
كتل مجهولة المصدر
الكتل المجهولة هي كتل PL/SQL لا تحمل أي اسم. يجب إنشاؤها واستخدامها في نفس الجلسة لأنها لا تُخزّن على الخادم ككائنات قاعدة بيانات.
بما أنها لا تُخزَّن في قاعدة البيانات، فلا تحتاج إلى خطوة تجميع منفصلة. تُكتب وتُنفَّذ مباشرةً، ويتم التجميع والتنفيذ في عملية واحدة. بعض الخصائص الأخرى:
- لا تحتوي هذه الكتل على اسم مرجعي.
- تبدأ بالكلمة المفتاحية "DECLARE" أو "BEGIN".
- ولأنها لا تحتوي على اسم مرجعي، فلا يمكن تخزينها لاستخدامها لاحقًا ويجب إنشاؤها وتنفيذها في نفس الجلسة.
- يمكنهم استدعاء كتل أخرى مسماة، لكن استدعاء كتلة مجهولة غير ممكن، لأنه ليس لها مرجع.
- يمكن أن تحتوي على كتلة متداخلة مسماة أو مجهولة، ويمكن أيضًا أن تكون متداخلة داخل أي كتلة.
- يمكن أن تحتوي على الأقسام الثلاثة جميعها، حيث يكون قسم التنفيذ إلزاميًا والقسمان الآخران اختياريان.
الكتل المسماة
تتميز الكتل المسماة باسم محدد وفريد. تُخزن هذه الكتل ككائنات قاعدة بيانات على الخادم، لذا يمكن الرجوع إليها أو استخدامها طالما أنها موجودة. تتم عملية تجميع الكتل المسماة بشكل منفصل عند إنشائها ككائنات قاعدة بيانات. بعض الخصائص الأخرى:
- يمكن استدعاء هذه الكتل من كتل أخرى.
- بنية الكتلة مماثلة لبنية الكتلة المجهولة، باستثناء أنها لا تبدأ أبدًا بـ 'DECLARE'. بدلاً من ذلك، تبدأ بـ 'CREATE'، والتي تُوجه المُترجم لإنشائها ككائن قاعدة بيانات.
- يمكن أن تتداخل هذه الكتل داخل كتل أخرى، ويمكن أن تحتوي أيضًا على كتل متداخلة.
- الكتل المسماة هي في الأساس نوعان:
- العملية
- الوظيفة
يمكنك معرفة المزيد عن هذه الكتل المسماة في الدليل الخاص بـ الإجراءات والوظائف.


