كتلة PL/SQL: الهيكل، بناء الجملة، مثال مجهول
ما هي كتلة PL/SQL؟
في PL/SQL، لا يتم تنفيذ التعليمات البرمجية بتنسيق سطر واحد، ولكن يتم تنفيذها دائمًا عن طريق تجميع التعليمات البرمجية في عنصر واحد يسمى الكتل. في هذا البرنامج التعليمي، سوف تتعرف على هذه الكتل.
تحتوي الكتل على تعليمات PL/SQL بالإضافة إلى تعليمات SQL. سيتم تنفيذ كل هذه التعليمات ككل بدلاً من تنفيذ تعليمات واحدة في كل مرة.
هيكل بلوك
تحتوي كتل PL/SQL على بنية محددة مسبقًا يتم تجميع التعليمات البرمجية فيها. فيما يلي أقسام مختلفة من كتل PL/SQL.
- قسم التصريح
- قسم التنفيذ
- قسم معالجة الاستثناءات
توضح الصورة أدناه كتل PL/SQL المختلفة وترتيب أقسامها.
قسم الإعلان
هذا هو القسم الأول من كتل PL/SQL. هذا القسم هو جزء اختياري. هذا هو القسم الذي سيتم فيه الإعلان عن المتغيرات والمؤشرات والاستثناءات والبرامج الفرعية وتعليمات براغما والمجموعات المطلوبة في الكتلة. فيما يلي بعض الخصائص الإضافية لهذا الجزء.
- هذا القسم تحديدًا اختياري ويمكن تخطيه إذا لم تكن هناك حاجة إلى إقرارات.
- يجب أن يكون هذا هو القسم الأول في كتلة PL/SQL، إذا كان موجودًا.
- يبدأ هذا القسم بالكلمة الأساسية "DECLARE" للمشغلات والكتلة المجهولة. بالنسبة للبرامج الفرعية الأخرى، لن تكون هذه الكلمة الأساسية موجودة. بدلاً من ذلك، يمثل الجزء الموجود بعد تعريف اسم البرنامج الفرعي قسم التصريح.
- يجب أن يتبع هذا القسم دائمًا قسم التنفيذ.
قسم التنفيذ
جزء التنفيذ هو الجزء الرئيسي والإلزامي الذي يقوم بالفعل بتنفيذ الكود المكتوب بداخله. منذ PL / SQL تتوقع البيانات القابلة للتنفيذ من هذه الكتلة، ولا يمكن أن تكون كتلة فارغة، أي يجب أن تحتوي على سطر تعليمات برمجية صالح قابل للتنفيذ على الأقل. فيما يلي بعض الخصائص الإضافية لهذا الجزء.
- يمكن أن يحتوي هذا على كود PL/SQL ورمز SQL.
- يمكن أن يحتوي هذا على كتلة واحدة أو عدة كتل بداخلها ككتلة متداخلة.
- يبدأ هذا القسم بالكلمة الرئيسية "BEGIN".
- يجب أن يتبع هذا القسم إما قسم "END" أو قسم معالجة الاستثناءات (إن وجد)
قسم معالجة الاستثناءات
الاستثناء لا مفر منه في البرنامج الذي يحدث في وقت التشغيل وللتعامل مع هذا Oracle قام بتوفير قسم معالجة الاستثناءات في الكتل. يمكن أن يحتوي هذا القسم أيضًا على عبارات PL/SQL. هذا قسم اختياري من كتل 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" التي ترشد المترجم إلى إنشائه ككائن قاعدة بيانات.
- يمكن أن تكون هذه الكتل متداخلة داخل كتل أخرى. يمكن أن تحتوي أيضًا على كتل متداخلة.
- الكتل المسماة هي في الأساس نوعان:
- العملية
- الوظيفة
سوف نتعلم المزيد عن هذه الكتل المسماة في موضوعي "الإجراء" و"الوظيفة" في البرنامج التعليمي اللاحق.
ملخص
بعد هذا البرنامج التعليمي، يجب أن تكون على دراية بكتل PL/SQL وأنواعها، والأقسام المختلفة للكتل واستخداماتها. سيتم تغطية الوصف التفصيلي لكتل PL/SQL المسماة في البرنامج التعليمي اللاحق.


