أسامة موسى بتاريخ: 17 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 17 أبريل 2006 السلام عليكم ورحمة الله وبركاتهالدرس العاشرCreating Functionsيقصد بها هو انشاء اجراء معين على قاعدة البيانات بحيث تطبق تعليمة معينة او تستعلم تعليمة معينة ويمكن تريتيبها حسب التالي :1-Function 2-Procedure3- Triggerقاعدة انشاء ال Function CREATE [OR REPLACE] FUNCTION function_name [ (parameter [,parameter]) ] RETURN return_datatype IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [function_name]; ويمكن ان نشرحها بالشكل التاليCREATE [OR REPLACE] FUNCTION function_nameهنا نقوم بعمل او تبديل الفانكشن يعني نكتب CREATE OR REPLACE ثم نكتب FUNCTIONثم نكتب اسم الفانكشن وفائدة الREPLACE هنا لتبديل البفانكشن القديم بالفانكشن الجديد الذي نريد انشائه [ (parameter [,parameter]) ]هذه الجزئية هي عبارة الباراميتر الداخل او الخارج من الفانكشن حيث عند استخدام الباراميتر وتعريف نوعه نستخدم ثلاث حالات وهي IN وتعني قيمة الباراميتر الداخله للفانكشن والغير مرتجعه بها القيمة .OUT وتعني قيمة الباراميتر الخارجة او الناتجة من الفانكشن IN OUT وهي القيم الداخلة والخارجة حيث يدخل الباراميتر بقيمة ويرجع بقيمة اخرىونحن نعرف ان الفانكشن ترجع القيمة باسم الفانكشن نفسه RETURN return_datatypeهنا نوع القيمة المراد ارجاعها في الفانكشن وتعني نوع الفانكشن هل هو رقم او حرف او غير ذلكIS | AS وتعني التهيئة ونستخدم عادة ال IS[declaration_section]هنا نعرف الباراميتر المختلفة والتي نستطيع استخدامها للفانكشنBEGIN executable_sectionهنا نهئ الفانكشن لنبدأ بعملية ال SELECT او القايم بجمع او طرح او غير ذلك[EXCEPTION exception_section]تستخدم في حال لم ينفذ الشرط END [function_name];وهنا ننهي الفانكشن مع كتابة اسم الفانكشن ويجب ان يكون مطابق للأسم الفانكشنمثال على ماسبق CREATE OR REPLACE Function FindCourse ( name_in IN varchar2 ) RETURN number 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; close c1; RETURN cnumber; EXCEPTION WHEN OTHERS THEN raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM); END; هذا فانكشن يعمل على ايجاد الكيرسر الذي نعطيه اسمه لكي يرجع رقمه فاذا لم يستطع يرجع الرقم 999ولاحظوا استخدام ال EXCEPTIONولاحظوا كيف نئستطيع استدعاء الفانكشن في جملة الSELECT select course_name, FindCourse(course_name) as course_id from courses where subject = 'Mathematics'; الاسئلة1- ما هي الفائدة من الفانكشن ؟2-كيف نستطيع تحديد نوع الباراميتر اذا كان داخل او خارج ؟3-قم بانشاء فانكشن يقوم بجمع رقمين وارجاعهما في جملة SELECT ?انتهى الدرسالدرس التاسع .... القائمة الرئيسية .... الدرس الحادي عشر 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
oracle_itself بتاريخ: 18 أبريل 2006 تقديم بلاغ مشاركة بتاريخ: 18 أبريل 2006 شرح رائع اخى العزيزطريقة سلسلة وجميلة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mdsalah بتاريخ: 2 يونيو 2006 تقديم بلاغ مشاركة بتاريخ: 2 يونيو 2006 مشكور اخى الفاضل واتمنى منك مزيد العطاء وجازاك الله خيرا وشكرا لهذا الموقع الاكثر من رائع ومزيد من التقدم MDSALAH اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
slimono بتاريخ: 11 أكتوبر 2006 تقديم بلاغ مشاركة بتاريخ: 11 أكتوبر 2006 خير الناس من تعلم وعلم وأفاد الى ما فيه الخير للأمة المسلمةوفقك الله أخوكم Slimono اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
kingssongs بتاريخ: 16 أكتوبر 2006 تقديم بلاغ مشاركة بتاريخ: 16 أكتوبر 2006 بارك الله بيكالف شكر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
osama80 بتاريخ: 29 نوفمبر 2006 تقديم بلاغ مشاركة بتاريخ: 29 نوفمبر 2006 بارك الله فيك اخي الفاضل أسامة و اتمنى من الله ان يتم عليكم بثمرة هذا العمل و تحمل أمانة العلم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sniper_ocp بتاريخ: 27 مايو 2007 تقديم بلاغ مشاركة بتاريخ: 27 مايو 2007 جزاك الله كل خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jasmen بتاريخ: 27 مايو 2007 تقديم بلاغ مشاركة بتاريخ: 27 مايو 2007 جزاك الله خير أخى اسامه وجعله الله فى ميزان حسناتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
جلال شواقفه بتاريخ: 31 أكتوبر 2007 تقديم بلاغ مشاركة بتاريخ: 31 أكتوبر 2007 احسنت ولك كل الاحترام والتقدير على مواضيعك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.