Ahmad.Hasan بتاريخ: 3 سبتمبر 2009 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2009 (معدل) السلام عليكمبماذا تستخدم هذ الدوال : 1- CONNECT BY 2- PRIOR وياريت ارفاق مثال بسيط على سكيمة SCOTT.وشكرا جزيلا... تم تعديل 3 سبتمبر 2009 بواسطة PALI.ORACLE اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
a7med atef بتاريخ: 3 سبتمبر 2009 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2009 السلام عليكماولاconnect by priorدى بنستخدمها لما نكون عاوزين نعرف المديرين لموظف محدد يعنى بيجيب البيانات فى شكل هرمىوليها اشكال مختلفهانا هقولك مثال مثلااا على اليوزر hrselect last_name,employee_id,manager_idfrom employeesstart with employee_id=100connect by prior employee_id=manager_idفى المثال دهرقم الموظف 100 المدير بتاعه ب null واحنا عاملين كونكت باى باريور رقم الموظف بيساوى رقم المديريبأه هنجيب كل الموظفين الى رقم المديرين بتوعهم ب100 هيطلع مثلا الموظف 201 المدير بتاعه ب100 بعدين هيدور على المدير الى رقمه 201 هيطلع رقم الموظف ب202 ويكون رقم مديره ب201 بعدين يشوف المدير الى رقمه 202 ويظهر قصاده رقم الموظف بتاعه وهياخدها بشكل هرمى كدده وطبعا قبل كل ده لازم يظهر الموظف 100 والدير بتاعه بnullولو عملنا الكود كدهselect last_name,employee_id,manager_idfrom employeesstart with employee_id=100connect by prior manager_id=employee_idهنا هيظهر الموظفين الى ليهم نفس رقم المدير بتاع الموظف 100يعنى الموظفين الى بnull وبرده قبل كل ده بيظهر الموظف رقم 100 والمدير بnullدا تطبيق بسيط على connect by priorوالله اعلم ياريت تكون فهمت حاجه اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 3 سبتمبر 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2009 (معدل) السلام عليكمأخي العزيز..قمت بكتابة المثال التالي: 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 ممكن توضيح ؟؟ تم تعديل 3 سبتمبر 2009 بواسطة PALI.ORACLE اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 3 سبتمبر 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2009 (معدل) UP تم تعديل 3 سبتمبر 2009 بواسطة PALI.ORACLE اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
a7med atef بتاريخ: 3 سبتمبر 2009 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2009 اولا السلام عليكمثانيا انا اسف اوى ياباشمهندس لخبطت فى حاجه وانا بشرحلك المثالانا هقولك من الاول على الامثله بتاعتكselect ename,empno,mgrfrom empstart with empno=7788connect by prior empno=mgr;هوا اولا بيبتدى يحسب انه بدأ من اول الموظف رقم 7788 علشان عملنا استارت وز فهيكون اول حاجه تظهر فى الناتج وهجيبله رقم المدير واسمه الاخير زى ماحنا عاملين فى جملة selectscott 7788 7566 وبعدين يبتدى يترجم الجمله بتاعت connect by prior empno=mgrودى معناها الموظف الى رقمه 7788 مدير على مين يعنى هيبأه هوا الابهنلاقيه موجود فى خانة المدير لما يكون رقم الموظف ب7876 وبعدين نشوف الرقم 7876 موجود فى خانة المدير لما يكون رقم الموظف بكام هنلاقى ان مفيش مدير رقمه 7876 يبأه نقف لحد الناتج دهADAMS 7876 7788تانيا المثال التانىselect ename,empno,mgrfrom empstart with empno=7788connect by prior mgr=empno;هوا اولا بيبتدى يحسب انه بدأ من اول الموظف رقم 7788 علشان عملنا استارت وز فهيكون اول حاجه تظهر فى الناتج وهجيبله رقم المدير واسمه الاخير زى ماحنا عاملين فى جملة selectscott 7788 7566ثانيا هيبتدى يترجم الجمله بتاعت connect by prior mgr=empno;ودى معناها الموظف الى رقمه 7788 مين مديرينه وليس مدير على مينيبأه عرفنا اول مدير ليه الى رقمه 7566 وبعدين نعتبر 7566 بأه ابن يعنى موظف و نشوف مين المدير بتاعه هيبأه رقمه 7839JONES 7566 7839بعدين نعتبر 7839 موظف ونشوف مين المدير بتاعه هنلاقى مالوش مدير يبأه نقف لحد كدهKING 7839هوا دا التفسير السيلم بأذن الله وجرب كده على اى مثال تانى ولو فى اى مشكله انا معاكولو عاوز شرح على مثال تانى انا موجودويارب يكون الشرح واضح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hanyfreedom بتاريخ: 4 سبتمبر 2009 تقديم بلاغ مشاركة بتاريخ: 4 سبتمبر 2009 http://www.builderau.com.au/program/oracle...39201541,00.htm اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 4 سبتمبر 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 4 سبتمبر 2009 السلام عليكمأشكرك أخي أحمد على الشرح..واشكرك أخي هاني على الرابط..تحياتي للجميع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.