بتاريخ: 5 نوفمبر 200817 سنة comment_142355 قمت بانشاء هذا الكيرسر كيف يمكنني ان اضعه داخل function وكيف يمكنني ان استعلم بالاضافة الى رقم الموظف استعلم عن تاريخ معين بحيث يكون كالتالي المدخل:رقم الموظف : 22 تاريخ : 200801 declare v_empnum emp_info.emp_num%type; v_sal emp_info.sal%type; v_hours emp_info.no_of_hours%type; cursor c is select emp_num ,sal,no_of_hours into v_empnum ,v_sal,v_hours from emp_info where emp_num=&emp_num ; begin open c; loop dbms_output.put_line(v_empnum || ' ' || v_sal || ' ' || v_hours); fetch c into v_empnum,v_sal,v_hours; exit when c%notfound; end loop; close c; end; تقديم بلاغ
بتاريخ: 5 نوفمبر 200817 سنة comment_142373 create or replace function fun_name(in_num number) return <data type> as v_empnum emp_info.emp_num%type; v_sal emp_info.sal%type; v_hours emp_info.no_of_hours%type; cursor c is select emp_num ,sal,no_of_hours into v_empnum ,v_sal,v_hours from emp_info where emp_num=in_num; begin open c; loop dbms_output.put_line(v_empnum || ' ' || v_sal || ' ' || v_hours); fetch c into v_empnum,v_sal,v_hours; exit when c%notfound; end loop; close c; end; تقديم بلاغ
بتاريخ: 5 نوفمبر 200817 سنة comment_142393 انا عندي مشكلة لما بعمل run مبيئراش عربي وبيجيب لغة غريبة اوي في 10g وشكرأ تقديم بلاغ
بتاريخ: 5 نوفمبر 200817 سنة comment_142398 يبقي محتاج تعرب نظام التشغيل ، وكذلك تعرف الأوراكل نفسة !!!عموماً لتعريب الأوراكل تعريب جيد ، يمكنك النظر في الأوامر التالية : REM Write regestry files. Echo REGEDIT4 >> Lang.reg Echo [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE] >> Lang.reg Echo "NLS_LANG"="ARABIC_EGYPT.AR8MSWIN1256" >> Lang.reg Echo [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0] >> Lang.reg Echo "NLS_LANG"="ARABIC_EGYPT.AR8MSWIN1256" >> Lang.reg Echo [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0] >> Lang.reg Echo "NLS_LANG"="ARABIC_EGYPT.AR8MSWIN1256" >> Lang.reg Echo [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1] >> Lang.reg Echo "NLS_LANG"="ARABIC_EGYPT.AR8MSWIN1256" >> Lang.reg Echo [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OLAP\ExpressServer\OLAPServer\Locale] >> Lang.reg Echo "NLS_LANG"="ARABIC_EGYPT.AR8MSWIN1256" >> Lang.reg Echo [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOMES\ORACLE0] >> Lang.reg Echo "NLS_LANG"="ARABIC_EGYPT.AR8MSWIN1256" >> Lang.reg regedit/s Lang.reg Del Lang.reg أدرج هذه الأوامر في ملف ذات إمتداد bat ، ومن ثم نفذة بالتوفيق تقديم بلاغ
بتاريخ: 6 نوفمبر 200817 سنة كاتب الموضوع comment_142450 شكرا لك ولكن عندي استفسارين هو ما معنى create or replace function over_salary(empnum number)return numberasهل استطيع تعريف متغير اخر من نوع تاريخ وماذا سيرجع يعني كما يلي:create or replace function over_salary(empnum number,v_date date)return ??????as الاستفسار الثاني كيف استدعي هذه الدالة؟ تقديم بلاغ
بتاريخ: 6 نوفمبر 200817 سنة comment_142454 ما معنىcreate or replace function over_salary(empnum number)return numberasهل استطيع تعريف متغير اخر من نوع تاريخ وماذا سيرجع يعني كما يلي:create or replace function over_salary(empnum number,v_date date)return ??????as لا يمكن أسترجاع أكثر من قيمة من ال Function .... لأستخراج أكثر من قيمة أستخدم ال Procedure ----------------كيف استدعي هذه الدالة؟ راجع الدراس الثانى Creating Stored Functions اللى فى ال Oracle Database 10g Develop PLSQL Program Unitsو أنت ستعرف طرق أستدعاء ال Functionsلمعرفة متى يفترض أستخدام ال Procedure و متى نستخدم ال Function >>>>>> أضغط هناو بالتوفيق تقديم بلاغ
بتاريخ: 6 نوفمبر 200817 سنة كاتب الموضوع comment_142463 create or replace function over_salary(empnum number,date_enter date) return number as v_empnum emp_info.emp_num%type; v_sal emp_info.sal%type; v_hours emp_info.no_of_hours%type; v_phr over_time.PERIOD_HR%type; v_over_date date; cursor emp_cur is select emp_info.emp_num ,emp_info.sal,emp_info.no_of_hours, over_time.period_hr,over_time.over_date into v_empnum ,v_sal,v_hours,v_phr,v_over_date from emp_info,over_time where emp_info.emp_num=empnum and over_time.over_date=date_enter; begin open emp_cur; loop dbms_output.put_line(v_empnum || ' ' || v_sal || ' ' || v_hours|| ' ' ||v_phr|| ' ' ||v_over_date) fetch emp_cur into v_empnum,v_sal,v_hours,v_phr,v_over_date; exit when emp_cur%notfound; end loop; close emp_cur; return empnum; end;هذه هي function بعد التعديل واشتغلت وكلو تمام ولكن بقي عندي مشكلة بسيطة وهي اللون الاحمر مخزن في قاعدة البيانات بشكل date اريد ان يستدعيه المستخدم بالسنة والشهر فقط بدون اليوم ومن ثم ايجاد جميع الحقول التي تكون في هذا الشهر لهذه السنة ولكن لنفس الموظف يعني date : 200801شهر واحد 2008 يخرج لي جميع المعلومات في هذا الشهر للموظف المذكور في الاستعلام وشكرا يا ريت حدا يساعدني بكون ممنون اعتقد اننا بحاجة لعمل convert to_number ومن ثم عمل loop from 1 to last_day ولكن كيف ؟؟؟؟؟؟؟؟؟؟ تقديم بلاغ
بتاريخ: 6 نوفمبر 200817 سنة comment_142468 where emp_info.emp_num=empnum and to_date(over_time.over_date,'mm/yyyy')=to_date(date_enter,'mm/yyyy'); تم تعديل 6 نوفمبر 200817 سنة بواسطة rose_4_pretty تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.