إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

ما الفرق بين ال Function و Procedure


6 رد (ردود) على هذا الموضوع

#1 أحمد السيد احمد

أحمد السيد احمد

    مشترك

  • الأعضــاء
  • 140 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 June 2007 - 04:19 AM

يا اخوانى الاعزاء اريد ان اعرف ما الفرق بين ال function و procedure وجزاكم الله خيرا.
من لم يخطط للنجاح فهو يخطط للفشل وان لم يقصد

#2 Essamshabeeb

Essamshabeeb

    عضو نشط

  • الأعضــاء
  • 479 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 June 2007 - 09:15 AM

الفرق هو ان الfunction ترجع بقيمة معينة ناتجة عن عمليات حسابية أو استعلام أو خلافه أما الprocedure فلاترجع قيمة
اللهم اغفر لى ما لا يعلمون و اجعلنى خيرا مما يظنون

#3 sameh bakkar

sameh bakkar

    مشرف قسم المبتدئين

  • فريق الإشراف
  • 1,019 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 June 2007 - 10:53 AM

الفرق الجوهرى اخى الكريم كما ذكر اخى السابق ان الFunction لابد ان تقوم بإرجاع قيمه اما ال procedure فهو ايضا يمكن ان يقوم بإرجاع قيمه اذا كود مود الباراميتر من نوع OUT و لكن الهدف الرئيسى من الProcedure انه يقوم بتنفيذ Action معين مثل زياده الحوافز مثلا او اضافة سجلات جديده او حفظ التعديلات و هكذا ... اتمنى ان اكون افدتك

Sameh Bakkar

Principal Oracle Apps Techno-Functional Consultant / Oracle E-Business Suite Certified Trainer

Oracle E-Business R11 Suite Applications Workflow Certified Expert

Oracle E-Business Suite R12 HCM Certified Implementation Specialist

Oracle Certified Professional

ITIL V3 Foundation certified

Microsoft Project certified




الموقع الخاص: AppsLead | Your Honest Guide | Sameh Bakkar


#4 oracle_itself

oracle_itself

    عضو نشط

  • فريق الإشراف
  • 365 مشاركة
  • الاسم الأول:Wael
  • اسم العائلة:Abdeen
  • البـلـد: Country Flag
  • المنصب الحالي:Manager

تاريخ المشاركة 02 June 2007 - 05:40 PM

اخى الكريم
كما قال الأخوة الأفاضل .

Function Return Value ... only one value .. if u need more .. concat then and use (-) to seperate between then and after that substr

Procedure
doesnt return any value .. it do some transactions then commit;
u can use it as a function using input output parameter.

Thx Sir.

WAEL ABDEEN: Assistant Manager / Data Mgmt. Analyst

profile: linkedin profile

blog: waelabdeen.blogspot.com

facebook: facebook profile

skype: oracle_itself

email: oracle_itself@hotmail.com


#5 sameh bakkar

sameh bakkar

    مشرف قسم المبتدئين

  • فريق الإشراف
  • 1,019 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 June 2007 - 10:52 PM

أخى وائل انا مختلف معك فى أن ال procedure
doesnt return any value
لأنه يمكن ان يعيد قيمه لو استخدمت باراميتر من نوع out و هذا مثال للتوضيح
CREATE OR REPLACE PROCEDURE format_phone
  (phone_no IN OUT VARCHAR2) IS
BEGIN
  phone_no := '(' || SUBSTR(phone_no,1,3) ||
			  ')' || SUBSTR(phone_no,4,3) ||
			  '-' || SUBSTR(phone_no,7);
END format_phone;
/


The procedure is executed and returns an updated string in the phone_no host variable.
VARIABLE phone_no VARCHAR2(15)
EXECUTE :phone_no := '8006330575' 
PRINT phone_no
EXECUTE format_phone (:phone_no)
PRINT phone_no
فهنا يقوم المستخدم بإدخال قيمه و تخرج قيمه اخر اذا يمكن للـ Procedure أن يقوم بإرجاء قيمه و لكن الأفضل فى ارجاع القيمه هى ال Function و الله المستعان

اتمنى ان اكون افدت

Sameh Bakkar

Principal Oracle Apps Techno-Functional Consultant / Oracle E-Business Suite Certified Trainer

Oracle E-Business R11 Suite Applications Workflow Certified Expert

Oracle E-Business Suite R12 HCM Certified Implementation Specialist

Oracle Certified Professional

ITIL V3 Foundation certified

Microsoft Project certified




الموقع الخاص: AppsLead | Your Honest Guide | Sameh Bakkar


#6 magedomran

magedomran

    مشترك

  • الأعضــاء
  • 134 مشاركة

تاريخ المشاركة 02 June 2007 - 11:02 PM

اخى الكريم
كما قال الأخوة الأفاضل .

Function Return Value ... only one value .. if u need more .. concat then and use (-) to seperate between then and after that substr

Procedure
doesnt return any value .. it do some transactions then commit;
u can use it as a function using input output parameter.

Thx Sir.

اخى الكريم كما قال الاخوة الاعزاء ان الفرق بين ال function انها يجب ان ترجع قيمة معينة وال procedure ايضا يمكنها ان ترجع ايضا قيمة وذلك اذا كان ال mode من نوع inout لكن ال procedure تقوم بتنفيذ action معين غير ذلك
والمثال الذى وضعة الاخ العزيز استاذنا /سامح خير دليل وشاهد على هذا الكلام فارجو من الاخوة اذا كان غير متأكد من معلومة ان لا يقولها الا اذا كان متاكد منها حتى لا يحدث لبس على المبتدئين
فالمعلومة واضحة فى الماتريال الخاصة باوراكل والمثال شارح نفسة
والسلام عليكم
وارجو ان لا يغضب منى احد
انا لا انقض الا للفائدة العامة
وهو المطلوب من هذا المنتدى الكريم

احبتى الكرام هل لى ان اطلب منكم العون والمدد فى ان تساعدونى لان نبنى امه اسلاميه قويه عزيزه بدينها الاسلام هل لى ان اطلب ان نعين بعضنا فى ان نرضى الله ورسوله وان نتعاون على البر والتقوى كى نصل لمرضاه الله ونفوز بجنته


وفقكم الله لما فيه خير امتنا

Magedomran@hotmail.com

My 4shared


#7 أحمد السيد احمد

أحمد السيد احمد

    مشترك

  • الأعضــاء
  • 140 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 03 June 2007 - 11:00 PM

جزاكم الله خيرا جميعا
من لم يخطط للنجاح فهو يخطط للفشل وان لم يقصد