بتاريخ: 26 أغسطس 201213 سنة comment_226939 السلام عليكم روحمه الله وبركاتهاليوم سوف اقوم بشرح بعض التريقرات trigger المهمة مثل pre insert و post insert ..الخالــ triggers المهمة 1-Pre-Deleteاولا : وقت الانطلاق او مايسمى بداية عملهقبل عملية الحذفثانيا: استخدامتهللتاكد من صلاحية المستخدم في تنفيذ عملية الحذف او حذف بيانات بلك تابع قبل حذف بياناتالبلك الريئسي او مثلا لحفظ البيانات المحذوفة الى جدول اخر قبل الحذف او مشابه ذلكمثال على ذلك بالصورة ثالثا: شرح الكودالتريقر التالي يعمل على حذف بيانات الموظفين من جدول الموظفين قبل حذف الادارة الخاصة بهم فاذا كان لدينا موظفين في قسم المحاسبة مثلا حيث ان قسم المحاسبة يمثل الرقم 5 ويحتوي هذا القسمعلى اكثر من موظف واردنا بذلك حذف قسم المحاسبة فانه سوف يمنع ذلك حينئذ يطلب منك حذف الموظفينومن ثم حذف قسم المحاسبة مثلا ... 2-On-Deleteاولا : بداية عملهبدل من الحذف سيتم تنفيذ الاوامر المكتوبة في هذا التريقروستلغى عملية الحذف الا في حالة تم كتابة كود الحذف في هذا التريقرمثال عل ذلك بالصورةثانيا :شرح الكود التريقريعمل على التأكد من ان الادارة المحذوفة ليست الادارة رقم 30 واذا كاتت الادارة ليست رقم 30 يتم تنفيذ كود الحذف حيث ان عملية الحذف سيتم الغائها وسيتم بدل منها تنفيذ هذا الكود 3- Post-Delete اولا: بداية عمله بعد عملية الحذف ثانيا: استخداماته عرض رسالة نجاح عملية الحذف مثال على ذلك message('تمت عملية الحذف بنجاح'); 4- Pre-Commitاولا: بدايه عملهقبل عملية الحفظ ثانيا : استخداماتهالتاكد من ان المستخدم له صلاحية الحفظ على هذا البلك او العمليةمثال عل ذلك بالصورةثالثا: شرح الكودنلاحظ في الكود السابق انا الشخص المسمى scott هو المستخدم الذي له حق الصلاحية في عملية حفظ البيانات بعد معالجتهاواذا كان غير ذلك فانه لايتم السماح له بالحفظ وتتم عملية الغاء الحفظ 5-Pre-Insertاولا:بداية عملهقبل عملية الاضافةثانيا: استخداماتهالتأكد من البيانات قبل عملية الاضافة او اجراء عمليات حسابية قبل الاضافة مثال عل ذلك بالصورةثالثا: شرح الكودالتريقر التالي يعمل على زيادة المتسلسلة seq بمقدا واحد وذلك قبل عملية الاضافةملاحظة : يستخدم هذا الكود اذا اردت ان تدخل دائما رقم تسلسلي تلقائيا اي برمجيا من دون ان تعمل له text في قائمة التصميم والتي تستخدم في ذلك هي الداله nextval ويجب عليك ان تعمل للارقام التسلسلة جدول او مايسمى sequence راجع درس الsequence في sql اي كيف تعمل sequence ارجو ان تكون المعلومه وصت بشكل صحيح6-Post-Insertاولا: بدايه عملهبعد عملية الاضافةثانيا: استخداماتهاعطاء مثلا رساله ان عملية الادخال قد تمت بنجاحمثال على ذلك messege('تمت عملية الادخال بنجاح'); ارجو ان يكون الدرس مفهوماي استفسار انا جاااااااااااااااااااااااااهزفي الدرس التالي سوف نقوم بعلم التريقرات التي تتحقق من صحة البيانات تقديم بلاغ
بتاريخ: 26 أغسطس 201213 سنة comment_226941 جزاك الله خيراً على هذه المعلومات القيمةننتظر دروسأً أخرى منك تقديم بلاغ
بتاريخ: 26 أغسطس 201213 سنة كاتب الموضوع comment_226942 منووووووووووووووووووور صفحتي اخووووووي az123لك خالص تحياتي تقديم بلاغ
بتاريخ: 27 أغسطس 201213 سنة comment_226944 جزيت عنا خيرا اخى ولكن ارجو توضيح هذا الكود raise form_trigger_failure ولك الشكر كلة اخى فى الله تم تعديل 27 أغسطس 201213 سنة بواسطة ramy_orcl تقديم بلاغ
بتاريخ: 27 أغسطس 201213 سنة كاتب الموضوع comment_226965 اسعدني مروركم اخوانياما فيما يخص هذا الكود raise form_trigger_failureكما لاحظت في المثاا السابق اذا كان المستخدم الذي ليس له حق الصلاحية في الحفظ او اي عملية فانه يتم تعطيل ا او فشل المستخدم باستخدام هذا الكود raise form_trigger_failure ودائما هذا الكود يستخدم في تعطيل العمل او فشل تنفيذ العملية ايضا اخووي لو لاحظنا اخوووي في هذا الكود فانه يوجد ايضا كود مشابه ذلك Raise application error trigger والكود السابق الذي ذكر ماهو الفرق بينهم رغم ان اداء العملية نفسها وهي تعطيل تنفيذ الكودالكود السابق دائما يستخدم في design الديلفوبر اي في التريقرات اما الكود التالي فهو يستخدم في database او بالاحرى في pl/sqlواما وضيفة عملهما فهي واحد كما ذكرت الا فقط انهما يختلفان في اي مكان يستخدم ارجووووا ان يكون قد وصلت الفكرة ان شاء الله الدرس التالي قريبا تقديم بلاغ
بتاريخ: 27 أغسطس 201213 سنة comment_226966 اسعدني مروركم اخوانياما فيما يخص هذا الكود raise form_trigger_failureكما لاحظت في المثاا السابق اذا كان المستخدم الذي ليس له حق الصلاحية في الحفظ او اي عملية فانه يتم تعطيل ا او فشل المستخدم باستخدام هذا الكود raise form_trigger_failure ودائما هذا الكود يستخدم في تعطيل العمل او فشل تنفيذ العمليةايضا اخووي لو لاحظنا اخوووي في هذا الكود فانه يوجد ايضا كود مشابه ذلك Raise application error trigger والكود السابق الذي ذكر ماهو الفرق بينهم رغم ان اداء العملية نفسها وهي تعطيل تنفيذ الكودالكود السابق دائما يستخدم في design الديلفوبر اي في التريقراتاما الكود التالي فهو يستخدم في database او بالاحرى في pl/sqlواما وضيفة عملهما فهي واحد كما ذكرت الا فقط انهما يختلفان في اي مكان يستخدمارجووووا ان يكون قد وصلت الفكرةان شاء الله الدرس التالي قريبا بجد حزالك الله كل خير اخى فى الله تقديم بلاغ
بتاريخ: 27 أغسطس 201213 سنة كاتب الموضوع comment_226969 <p style="text-align: center; "><span style="font-size:18px;"><span style="color: rgb(255, 0, 0); "><em><strong><span dir="RTL" style="">التحقق من صحة البيانات </span>Validation trigger</strong></em></span></span></p><p style="text-align: center; "> </p><p><b>تستخدم للتحقق من صحة البيانات المدخلة </b></p><p> </p><h1 dir="RTL"> <span style="font-size:18px;"><strong>وحدة التاكد من صحة البيانات (</strong><strong><span dir="LTR" style="">Validation Unit</span></strong><strong>) وهي خاصية تابعة للموديل </strong></span></h1><h1 dir="RTL"> <span style="font-size:18px;"><strong>وهذه الخاصية تحدد متى يتم التحقق من صحة البيانات ولها اربعة اختيارات</strong></span></h1><p dir="RTL"><img alt="" src="http://im19.gulfup.com/2012-08-27/1346088828921.png" /></p><p dir="RTL"> </p><p dir="RTL"><span style="color:#ff0000;"><strong>1-form</strong></span></p><p dir="RTL"> </p><p dir="RTL"><strong><span dir="RTL">اي سيتم التحقق من صحة البيانات المدخلة والتاكد من سلامتها عند اغلاق النموذج </span></strong></p><p dir="RTL"> </p><p dir="RTL"><span style="color:#ff0000;"><span style="font-size: 14px; "><strong>2-Data Block</strong></span></span></p><p dir="RTL"> </p><p dir="RTL"><strong>اي سيتم التحقق من صحة البيانات المدخلة والتاكد من سلامتها عند الانتقال الى بلك اخر </strong></p><p dir="RTL"> </p><p dir="RTL"><span style="color:#ff0000;"><strong>3-Record</strong></span></p><p dir="RTL"> </p><p dir="RTL"><strong><span dir="RTL">اي سيتم التحقق من صحة البيانات المدخلة والتاكد من سلامتها عند الانتقال الى سجل اخر</span></strong></p><p dir="RTL"> </p><p dir="RTL"><span style="color:#ff0000;"><strong>4-Item</strong></span></p><p dir="RTL"> </p><p dir="RTL"><strong>اي سيتم التحقق من صحة البيانات والتاكد من سلامتها عند الخروج من البند والانتقال الى بند اخر</strong></p><p dir="RTL"> </p><p dir="RTL"><em><strong>ولديكم هذه الصورة توضخ التريقرات للتحقق من البيانات وفقا لكل validation unit</strong></em></p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"><img alt="" src="http://im24.gulfup.com/2012-08-27/1346089232445.png" /></p><p dir="RTL"> </p><p dir="RTL"><strong> التريقر التالي يعمل على التحقق من أن تاريخ التعين يجب ان يكون اكبر من تاريخ النظام وهو تريقر يعمل على</strong></p><p dir="RTL"> </p><p dir="RTL"><strong>مستوى البند اي أنه لن يسمح بالخروج من البند عندما يكون تاريخ التعين اكبر من تاريخ اليوم </strong></p><p dir="RTL"> </p><p dir="RTL"><em><strong>لديكم المثال بالصورة التالية يوضح اكثر </strong></em></p><p dir="RTL"> </p><p dir="RTL"><img alt="" src="http://im19.gulfup.com/2012-08-27/1346088828232.png" /></p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"><em><span style="color:#b22222;"><strong>التريقر التالي يعمل على مسترى السجل ويعمل على التأكد من ان العمولة اقل من الراتب فاذا </strong></span></em></p><p dir="RTL"> </p><p dir="RTL"><em><span style="color:#b22222;"><strong>كانت اكبر يتم عرض رسالة ولايسمح بالانتقال سجل اخر الابعد تعديل العمولة بحيث تكون اقل من الراتب</strong></span></em></p><p dir="RTL"> </p><p dir="RTL"><span style="font-size:18px;"><span style="color: rgb(0, 0, 0); "><strong>مثال على ذلك بالصورة</strong></span></span></p><p dir="RTL"> </p><p dir="RTL"><img alt="" src="http://im19.gulfup.com/2012-08-27/1346088828873.png" /></p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"><span style="font-size:18px;"><span style="color: rgb(0, 0, 0); "><strong>وكذلك الصورة التالي عندما تكون في حالة الرن تايم </strong></span></span></p><p dir="RTL"><span style="font-size:18px;"><span style="color: rgb(0, 0, 0); "><strong>وكيفية ان البرنامج نفذ بشكل صحيح وكذلك تحقق الشرط في ذلك</strong></span></span></p><p dir="RTL"><span style="font-size:18px;"><span style="color: rgb(0, 0, 0); "><strong>حيث ان العمولة يجب ان تكون اقل من الراتب</strong></span></span></p><p dir="RTL"><span style="font-size:18px;"><span style="color: rgb(0, 0, 0); "><strong>اما في حالة عدم ذلك فلن يتم تفيذ البرنامج </strong></span></span></p><p dir="RTL"><strong style="color: rgb(0, 0, 0); font-size: 18px; ">وسوف تظهر لك الرسالة تفيد ان الراتب اقل من العموله </strong></p><p dir="RTL"> </p><p dir="RTL"><img alt="" src="http://im19.gulfup.com/2012-08-27/1346088828994.png" /></p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"> </p><p dir="RTL"><span style="color:#b22222;"><em><strong style="color: rgb(0, 0, 0); font-size: 18px; ">ارجوا ان تكون الفكرة قد وصلت بشكل صحيح</strong></em></span></p><p dir="RTL"> </p><p dir="RTL"><strong><u><em>ملاحظة:ا</em></u>ذا لم تكن الاكواد غير مفهومة لكم رجاء ردوا علي من اجل ان اشرحها بشكل افضل </strong></p><p dir="RTL"> </p><p dir="RTL"><font color="#000000" size="4"><b>انتظرونا في بقية الدروس القادمة باذن الله</b></font></p><p dir="RTL"> </p><p dir="RTL"><b style="color: rgb(0, 0, 0); font-size: large; ">لاتنسونا من دعائكم</b></p><p dir="RTL"> </p><p> </p><p dir="RTL"> </p> تقديم بلاغ
بتاريخ: 27 أغسطس 201213 سنة كاتب الموضوع comment_226972 انا اسف عن الشرح السابق حصل له بعض العطل للصور وظهرت ع شكل htmlساعيد الدرس السابق في وقت لاحق ان شاء الله تقديم بلاغ
بتاريخ: 25 نوفمبر 201213 سنة comment_229444 جزاك الله عنا كل خير ونتمنى من الله ان تتابع هذه الدروس التعليميه تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.