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

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

صورة
- - - - -

سؤال فى Procedure


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

#1 yyyyyyy60

yyyyyyy60

    عضو

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

تاريخ المشاركة 05 January 2010 - 07:13 PM

السلام عليكم
عاوز اعرف الناتج بتاع الاجراء ده اشوفه ازاى لانى انا شايفه كده داخلى ولا استطيع ان اراه يظهر لى اى نتيجه ترى
CREATE PROCEDURE employee_sal(id NUMBER) IS 
emp employees%ROWTYPE;


FUNCTION tax(salary VARCHAR2) RETURN NUMBER IS
BEGIN RETURN salary * 0.825;
END tax;


BEGIN SELECT * INTO emp FROM EMPLOYEES WHERE employee_id = id;
DBMS_OUTPUT.PUT_LINE('Tax: '||tax(emp.salary));
END;


#2 @nana@

@nana@

    عضو نشط

  • الأعضــاء
  • 284 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Don't Say ,I Don't Know..But Try&& Error :(
    I Adore Oracle 4 Ever :D

تاريخ المشاركة 06 January 2010 - 12:13 AM

اها اكيد حضرتك مش هتشوفه كداا لان حضرتك ماعملتش انفوك ليها ..ممكن حضرتك تستدعيها

باستخدام ال execute command سواء ف بيئة sql*plus , isql*plus

execute employee_sal(140)


140 دا قيمة البراميتر id ال حضرتك مررته وانت بتنشا البروسير

ممكن تستدعى من داخل anonymous block
begin employee_sal(140);
end;


دا الناتج
Tax: 2062.5
PL/SQL procedure successfully completed.

كمان ممكن تعمل انفوك ليها من داخل procedure تانية

تكتب اسمها والبراميتر الخاص بيها وبس


FatmaElgzar
https://www.facebook...acleJavaAcademy

http://www.facebook....gDream.Computer
Try 2 Change Ur Life 2 The Best
---------------------------------------
ياحى ياقيوم برحمتك أستغيث ، أصلح لى شأنى كله ولاتكلنى الى نفسى طرفة عين .

حسبى الله لااله الا هو ، عليه توكلت وهو رب العرش العظيم
--------------------------------------------------
905527214.gif


#3 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 06 January 2010 - 02:14 AM

السلام على من اتبع الهدى

اخى الفاضل الصيغه بتاعتك غلاض
دى افضل صيغه
SET SERVEROUTPUT ON CREATE OR REPLACE PROCEDURE employee_sal(id NUMBER) IS
emp employees%ROWTYPE;
s NUMBER(20);
FUNCTION tax(salary VARCHAR2) RETURN NUMBER IS
BEGIN RETURN salary * 0.825;
END tax;
BEGIN SELECT * INTO emp FROM EMPLOYEES WHERE employee_id = id;
s:=tax(emp.salary);
DBMS_OUTPUT.PUT_LINE('Tax: '|| s);
END;
/
BEGIN employee_sal(160);
end ;

متجربه وشغاله لو فى استفسار انا فى خدمتك

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#4 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 06 January 2010 - 02:17 AM

اسف كودك بردك شغال المشكله زى ماقال الاخ nana@

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#5 yyyyyyy60

yyyyyyy60

    عضو

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

تاريخ المشاركة 06 January 2010 - 07:11 AM

انا والله محرج منكم و جزائكم الله كل خير
انا بس اختلطت عليا الامور
ومليون شكرا لكل واحد ادى اهتمام سؤالى


#6 mostfa_future

mostfa_future

    عضو مميز

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

تاريخ المشاركة 06 January 2010 - 09:42 PM

اخى الفاضل PROCEDURE هو عباره عن مجموعه من الاومر بتخزت فى قاعد البيانات عشان تشغل لازم تعملها انفوك زاى الاخ @nana@ ماقال حاول تقراء الفيل ده اكيد هينفعك

ملفات مرفقة

  • ملف مرفق  chapter_09.rar   387.12كيلو   30 عدد مرات التحميل

لا تحسبن المجد تمرا أنت اكله *** لن تبلغ المجد حتى تلعق الصبر


صورةصورة


#7 yyyyyyy60

yyyyyyy60

    عضو

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

تاريخ المشاركة 07 January 2010 - 01:42 AM

متشكر جدا يا استاذ مصطفى وربنا مايحرمنا منك و من مساعدتك ومساعده كل واحد اجاب على سؤالى