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

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

صورة
- - - - -

دوال ؟؟؟


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

#1 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 03 September 2009 - 09:45 PM

السلام عليكم
بماذا تستخدم هذ الدوال :

1- CONNECT BY
2- PRIOR

وياريت ارفاق مثال بسيط على سكيمة SCOTT.
وشكرا جزيلا...

تم التعديل بواسطة PALI.ORACLE, 03 September 2009 - 09:46 PM.

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#2 a7med atef

a7med atef

    عضو

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

تاريخ المشاركة 03 September 2009 - 11:44 PM

السلام عليكم
اولا
connect by prior
دى بنستخدمها لما نكون عاوزين نعرف المديرين لموظف محدد يعنى بيجيب البيانات فى شكل هرمى
وليها اشكال مختلفه
انا هقولك مثال مثلااا على اليوزر hr
select last_name,employee_id,manager_id
from employees
start with employee_id=100
connect by prior employee_id=manager_id

فى المثال ده
رقم الموظف 100 المدير بتاعه ب null واحنا عاملين كونكت باى باريور رقم الموظف بيساوى رقم المدير

يبأه هنجيب كل الموظفين الى رقم المديرين بتوعهم ب100 هيطلع مثلا الموظف 201 المدير بتاعه ب100 بعدين هيدور على المدير الى رقمه 201 هيطلع رقم الموظف ب202 ويكون رقم مديره ب201 بعدين يشوف المدير الى رقمه 202 ويظهر قصاده رقم الموظف بتاعه وهياخدها بشكل هرمى كدده وطبعا قبل كل ده لازم يظهر الموظف 100 والدير بتاعه بnull

ولو عملنا الكود كده
select last_name,employee_id,manager_id
from employees
start with employee_id=100
connect by prior manager_id=employee_id
هنا هيظهر الموظفين الى ليهم نفس رقم المدير بتاع الموظف 100
يعنى الموظفين الى بnull وبرده قبل كل ده بيظهر الموظف رقم 100 والمدير بnull

دا تطبيق بسيط على connect by prior
والله اعلم
ياريت تكون فهمت حاجه

#3 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 03 September 2009 - 11:52 PM

السلام عليكم
أخي العزيز..
قمت بكتابة المثال التالي:

select ename,empno,mgr
from emp
start with empno=7788
connect by prior empno=mgr;

وظهرت هذه النتائج :

ENAME EMPNO MGR

scott 7788 7566

ADAMS 7876 7788

ما الذي حدث بالزبط ؟؟؟

وعند كتابة الجملة التالية :

select ename,empno,mgr
from emp
start with empno=7788
connect by prior mgr=empno;

وظهرت هذه النتائج :

ENAME EMPNO MGR

scott 7788 7566
JONES 7566 7839
KING 7839

ممكن توضيح ؟؟

تم التعديل بواسطة PALI.ORACLE, 04 September 2009 - 12:07 AM.

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#4 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 03 September 2009 - 11:59 PM

UP

تم التعديل بواسطة PALI.ORACLE, 04 September 2009 - 12:06 AM.

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#5 a7med atef

a7med atef

    عضو

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

تاريخ المشاركة 04 September 2009 - 02:29 AM

اولا السلام عليكم

ثانيا انا اسف اوى ياباشمهندس لخبطت فى حاجه وانا بشرحلك المثال

انا هقولك من الاول على الامثله بتاعتك
select ename,empno,mgr
from emp
start with empno=7788
connect by prior empno=mgr;

هوا اولا بيبتدى يحسب انه بدأ من اول الموظف رقم 7788 علشان عملنا استارت وز فهيكون اول حاجه تظهر فى الناتج وهجيبله رقم المدير واسمه الاخير زى ماحنا عاملين فى جملة select
scott 7788 7566 وبعدين يبتدى يترجم الجمله بتاعت

connect by prior empno=mgr
ودى معناها
الموظف الى رقمه 7788 مدير على مين يعنى هيبأه هوا الاب
هنلاقيه موجود فى خانة المدير لما يكون رقم الموظف ب7876 وبعدين نشوف الرقم 7876 موجود فى خانة المدير لما يكون رقم الموظف بكام هنلاقى ان مفيش مدير رقمه 7876 يبأه نقف لحد الناتج ده

ADAMS 7876 7788


تانيا المثال التانى
select ename,empno,mgr
from emp
start with empno=7788
connect by prior mgr=empno;

هوا اولا بيبتدى يحسب انه بدأ من اول الموظف رقم 7788 علشان عملنا استارت وز فهيكون اول حاجه تظهر فى الناتج وهجيبله رقم المدير واسمه الاخير زى ماحنا عاملين فى جملة select
scott 7788 7566

ثانيا هيبتدى يترجم الجمله بتاعت connect by prior mgr=empno;

ودى معناها الموظف الى رقمه 7788 مين مديرينه وليس مدير على مين

يبأه عرفنا اول مدير ليه الى رقمه 7566 وبعدين نعتبر 7566 بأه ابن يعنى موظف و نشوف مين المدير بتاعه هيبأه رقمه 7839
JONES 7566 7839
بعدين نعتبر 7839 موظف ونشوف مين المدير بتاعه هنلاقى مالوش مدير يبأه نقف لحد كده
KING 7839



هوا دا التفسير السيلم بأذن الله
وجرب كده على اى مثال تانى ولو فى اى مشكله انا معاك

ولو عاوز شرح على مثال تانى انا موجود

ويارب يكون الشرح واضح

#6 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 04 September 2009 - 11:52 AM

http://www.builderau...39201541,00.htm

#7 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 04 September 2009 - 03:19 PM

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

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist