أسامة موسى بتاريخ: 19 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 19 أبريل 2006 السلام عليكم ورحمة الله وبركاتهالدرس الحادي عشر .....Creating Proceduresيقصد بها هو انشاء اجراء معين على قاعدة البيانات بحيث تطبق تعليمة معينة او تستعلم تعليمة معينةقاعدة انشاء الProcedure CREATE [OR REPLACE] PROCEDURE procedure_name [ (parameter [,parameter]) ] IS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [procedure_name]; ويمكن ان نشرحها بالشكل التاليCREATE [OR REPLACE] PROCEDURE procedure_nameهنا نقوم بعمل او تبديل الProcedure يعني نكتب CREATE OR REPLACE ثم نكتب PROCEDUREثم نكتب اسم الPROCEDURE وفائدة الREPLACE هنا لتبديل الPROCEDURE القديم بالPROCEDURE الجديد الذي نريد انشائه[ (parameter [,parameter]) ]هذه الجزئية هي عبارة الباراميتر الداخل او الخارج من البروسيجر حيث عند استخدام الباراميتر وتعريف نوعه نستخدم ثلاث حالات وهي IN وتعني قيمة الباراميتر الداخله للبروسيجر والغير مرتجعه بها القيمة .OUT وتعني قيمة الباراميتر الخارجة او الناتجة من البروسيجرIN OUT وهي القيم الداخلة والخارجة حيث يدخل الباراميتر بقيمة ويرجع بقيمة اخرىونحن نعرف ان البروسيجر ترجع القيمة باسم البروسيجر نفسهISوتعني التهيئة [declaration_section]هنا نعرف الباراميتر المختلفة والتي نستطيع استخدامها للبروسيجرBEGINexecutable_sectionهنا نهئ البروسيجر لنبدأ بعملية ال SELECT او القايم بجمع او طرح او غير ذلك[EXCEPTIONexception_section]تستخدم في حال لم ينفذ الشرط END [PROCEDURE_name];وهنا ننهي البروسيجر مع كتابة اسم البروسيجر ويجب ان يكون مطابق للأسم البروسيجرمثال على ماسبق CREATE OR REPLACE Procedure UpdateCourse ( name_in IN varchar2 ) IS cnumber number; cursor c1 is select course_number from courses_tbl where course_name = name_in; BEGIN open c1; fetch c1 into cnumber; if c1%notfound then cnumber := 9999; end if; insert into student_courses ( course_name, course_number) values ( name_in, cnumber ); commit; close c1; EXCEPTION WHEN OTHERS THEN raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM); END; هذا البروسيجر يأخذ رقم الكورس ويضيفه الى جدول الطلابويمكن استدعائه عن طريق التريجر مثلا وسوف نرى ذلك في الدرس القادم باذن اللهالاسئلة1- ما هي الفائدة من البروسيجر ؟2-كيف نستطيع تحديد نوع الباراميتر اذا كان داخل او خارج ؟3-قم بانشاء بروسيجر يقوم بجمع رقمين وارجاعهما في جملة SELECT ?انتهى الدرسالدرس العاشر ..... القائمة الرئيسية .... الدرس الثاني عشر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mdsalah بتاريخ: 2 يونيو 2006 تقديم بلاغ مشاركة بتاريخ: 2 يونيو 2006 مشكور اخى الفاضل واتمنى منك مزيد العطاء وجازاك الله خيرا وشكرا لهذا الموقع الاكثر من رائع ومزيد من التقدم MDSALAH اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
slimono بتاريخ: 11 أكتوبر 2006 تقديم بلاغ مشاركة بتاريخ: 11 أكتوبر 2006 أعانك الله لفعل الخير صدقة جارية ان شاء اللهأخوك من الجزائر سليمونو اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
kingssongs بتاريخ: 16 أكتوبر 2006 تقديم بلاغ مشاركة بتاريخ: 16 أكتوبر 2006 يا انته يا ابداعاتك يا بطلمشكور حبيبي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
osama80 بتاريخ: 29 نوفمبر 2006 تقديم بلاغ مشاركة بتاريخ: 29 نوفمبر 2006 بارك الله فيك اخي اسامة و اتمنى من الله ان يتم عليكم بثمرة هذا العمل و تحمل أمانة العلم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
wlahmad بتاريخ: 12 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 12 يناير 2007 الله يعطيك العافية جهد جبارلاحرمت اجره استاذي الفاضل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
جلال شواقفه بتاريخ: 31 أكتوبر 2007 تقديم بلاغ مشاركة بتاريخ: 31 أكتوبر 2007 يعطيك العافيه اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.