0% found this document useful (0 votes)
18 views14 pages

Subprograms - Procedures

jkljo;doj

Uploaded by

Mousa Al-subeai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views14 pages

Subprograms - Procedures

jkljo;doj

Uploaded by

Mousa Al-subeai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 14

‫‪Subprograms -‬‬

‫‪Procedures‬‬
‫الكتل المعرفة – اإلجراءات – الوحدة السادسة‬
‫البرامج الفرعية او الكتل المعرفة او‬
‫‪Subprograms‬‬
‫• البرنامج الفرعي هي وحدة برنامج تؤدي مهمة معينة‪ .‬يتم دمج هذه البرامج‬
‫الفرعية لتشكيل برامج أكبر‪ُ .‬يطلق على هذا اسم "التصميم المعياري"‪ .‬يمكن‬
‫استدعاء برنامج فرعي بواسطة برنامج فرعي آخر أو برنامج آخر يسمى استدعاء‬
‫للبرنامج‪.‬‬

‫• وهي الوحدات البرمجية التي لها اسم محدد عند تعريفها ويندرج ضمنها اإلجراءات‬
‫والدوال والزناد والحزم حيث يتم حفظها داخل قاعدة البيانات والرجوع اليها عند‬
‫الحاجة‬

‫• أنواع البرامج الفرعية ‪ -1 :‬اإلجراءات ‪ -2‬الدوال‬


‫الفرق بين الكتل المعرفة و الكتل المجهولة‬
‫مميزات الكتل المعرفة‬
‫• سهولة الصيانة‪ :‬ال يلزم إجراء التعديالت إال مرة واحدة لتحسين التطبيقات المتعددة وتقليل االختبارات‬

‫• إعادة استخدام الكود‪ :‬توجد البرامج الفرعية في مكان واحد عند تجميعها والتحقق من صحتها ‪ ،‬يمكن‬
‫استخدامها وإعادة استخدامها في أي عدد من التطبيقات‬

‫• تحسين أمان البيانات‪ُ :‬يسمح بالوصول غير المباشر إلى كائنات قاعدة البيانات من خالل منح امتيازات‬
‫األمان على البرامج الفرعية‪ .‬بشكل افتراضي يتم تشغيل البرامج الفرعية بامتيازات مالك البرنامج‬
‫الفرعي وليس امتيازات المستخدم‬

‫• تكامل البيانات‪ :‬يمكن تجميع اإلجراءات ذات الصلة في كتلة وتنفيذها مًعا أو عدم تنفيذها على اإلطالق‬

‫• تحسين الكفاءة ‪ :‬يمكنك إعادة استخدام تعليمات ‪ PL / SQL‬البرمجية المترجمة والمخزنة في ذاكرة‬
‫التخزين المؤقت لمنطقة ‪ SQL‬المشتركة على الخادم‪.‬‬

‫• تحسين توضيح الكود ‪ :‬باستخدام األسماء والمصطلحات المناسبة لوصف عمل اإلجراءات الروتينية ‪،‬‬
‫يمكنك تقليل الحاجة إلى التعليقات‪.‬‬
‫ما هو االجراء (‪)Procedure‬؟‬
‫• عبارة عن كتلة ‪ PL/SQL‬معرفة تستخدم لتنفيذ مهمة معينة تقبل متغيرات لتنفيذ‬
‫تلك اإلجراءات ‪.‬‬
‫• الهيكل العام لألجراء‪:‬‬

‫• لتنفيذ االجراء في ‪ Apex Oracle‬نكتب صيغة الكتلة المجهولة متبوعة باسم‬


‫االجراء ‪.‬‬
‫مثال‬
‫في المثال التالي قمنا بإنشاء اجراء اسمه ‪ greetings‬يقوم بعرض رسالة (‪Hello‬‬
‫‪ )World‬وتحفظ في بيئة اوراكل باإلجراء ‪ greetings‬وعند الضغط على زر ‪ Run‬يتم‬
‫انشاء االجراء بدون تنفيذه‬

‫لتنفيذ االجراء يجب ان نستخدم كود الكتلة المجهولة‬


‫مثال‬
‫تمرير المتغيرات الى االجراء ‪Passing‬‬
‫‪Parameters‬‬
‫• ‪ parameter‬هي متغير أو عنصر نائب ألي نوع بيانات ‪ PL / SQL‬صالح يتبادل من‬
‫خالله البرنامج الفرعي ‪ PL / SQL‬القيم مع الكود الرئيسي‪.‬‬

‫• يتم انشاء ‪ parameter‬بعد اسم االجراء مباشرة كما في الهيكل العام لإلجراء‬
‫متبوعة بنوع البيانات‬
‫أوضاع تمرير المتغيرات ‪:‬‬

‫• المعامل ‪( IN‬الوضع االفتراضي) يوفر قيم للبرنامج الفرعي لمعالجتها – تستخدم للقراءة‬
‫فقط حيث يمكنك الرجوع إلى المعامل ‪ IN‬داخل إجراء لكن ال يمكنك تغيير قيمتها‪.‬‬

‫• المعامل ‪ OUT‬قابلة للكتابة عادة ما تقوم بتعيين قيمة تم إرجاعها للمعامل ‪ OUT‬وإعادتها‬
‫إلى برنامج االستدعاء‪.‬‬

‫• المعامل‪ IN OUT‬توفر قيمة إدخال والتي يمكن إرجاعها كقيمة معدلة‪ .‬وهي قابلة للقراءة‬
‫والكتابة حيث يمكن قراءة اإلجراء وتعديله‪ .‬الحظ أن خيار ‪ OR REPLACE‬يسمح لك بالكتابة‬
‫فوق اإلجراء الحالي بالكود الجديد‪.‬‬
‫مثال ‪ 1‬تمرير متغير مع المعامل ‪IN‬‬
‫مثال ‪ 2‬تمرير متغير مع المعامل ‪IN‬‬
‫مثال مع المعامل ‪OUT‬‬
‫مثال مع المعامل ‪INOUT‬‬
‫حذف اجراء‬
‫• استخدم امر الحذف ‪ Drop‬متبوعا باسم االجراء‬

You might also like