msb2012 بتاريخ: 27 سبتمبر 2010 تقديم بلاغ مشاركة بتاريخ: 27 سبتمبر 2010 1-ما الفرق بين الاكتشوال و الفورمال باراميترز؟ مع امثله لو سمحت2-كيف اعمل كول او انفوك للفنكشن او البروسيجر؟؟ اتمنى شراح دقيق مع امثله لانني لم افهمها اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
awadalkerad بتاريخ: 17 أكتوبر 2010 تقديم بلاغ مشاركة بتاريخ: 17 أكتوبر 2010 السلام عليكم ورحمة الله وبركاته بالنسبة للسؤال الأول البارامترات التي توضع عند كتابة البروسسيجر أو الفنكشن تسمى الفورمال باراميترز formal parametersمثال create or replace procedure exampl_proc (p_id Number) ISv_ename archar2(20);BEGINselect ename into v_ename from employees where employee_id = p_id;dbms_output.put_line('employee id ' ||p_id|| 'employee Name: ' ||v_ename);END في هذا المثال البسيط p_id هي الفورمال باراميترأما الأكشوال اراميترز فهي التي تستخدم عند استدعاء ال بروسيجر او الفنكشن مثال Execut exampl_proc(200) ال 200 هي الأكشوال ويمكن أن تكون متغير أو ثوابت ...ملاحظة : كل فورمال باراميتر يجب أن يقابله أكشوال باراميتر فورمال و أكشوال هي عبارة عن تسميات فقط لاغير.أما بالنسبة للسؤال الثاني فهناك عدة طرق لاستدعاء بروسيجر أو فنكشن1. باستخدام تعليمة EXECUTE ثم اسم البروسيجر والباراميترات إن وجدت كما في الثال السابق وتسخدم هذه التعليمة ضمن ال sql*plus أو sql developer2. استدعاء البروسيجر ضمن بروسيجر أخر ويتم ذلك بكتابة اسم البروسيجر و باراميتراته إن وجدت وبدون كتابة EXECUTE فقط اسم البروسيجر3. استدعاء البروسيجر ضمن ananymous Block ويتم ذلك مثل استدعاء بروسيجر ضمن بروسيجر أخر مثال Beginexampl_proc(300); بالنسبة للفنكشن فهو مثل البروسيجر تقريبا إلا أنه يجب أن يرجع قيمة عند إنتهاءه لذلك يجب مراعاة هذه النقطة كتخزين القيمة المعادة في متحول أو طباعتها أو أو ...مثال: Declarev_salary employees.salary%type;beginv_salary = Calculate_salary_Function(&employee_id);dbms_output.put_line(&employee_id ||' earns ' ||v_salry);End في هذا المثال أفترضت وجود فنكشن يأخذ رقم الموظف و يرجع قيمة راتبه ومن ثم خزنت القيمة المعادة في متحول v_salary وطبعتها.أرجو أن يكون الشرح واضح أي استفسار تكرم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ramy_orcl بتاريخ: 26 أكتوبر 2010 تقديم بلاغ مشاركة بتاريخ: 26 أكتوبر 2010 جزاك الله عنا كل خير اخى فى الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
awadalkerad بتاريخ: 27 أكتوبر 2010 تقديم بلاغ مشاركة بتاريخ: 27 أكتوبر 2010 وإياكم أخي ramy_orcl اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.