modiOne بتاريخ: 24 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 24 مايو 2005 اخواني اعضاء منتدى اوركل اريد شرح وتعريف عن decode ماذا يعني وما عمله عندي شرح بكره ولغتي الانجليزيه ضعيفه واتمناء من اخواني الاعزاء انهم يساعدوني اخوكم modiOne وشاكر لكم جهودكم اي واحد عنده معلومه ولو بسيطه لا يبخل علي فيها اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
selman0 بتاريخ: 24 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 24 مايو 2005 الاجراء deocdeعمله مثل عمل الاجراءcaseوتستخدم فى جمل الsql لاسترجاع قيم محددة اوعلى حسب قيم العمود فلنفرض مثلا انة لديناالجدول التالىcreate table a (x int, b int);ادخل بة القيم التاليةinsert into a values (1,2);insert into a values (1,3);insert into a values (2,4);insert into a values (2,5);insert into a values (3,6);والانselect * from a where b=decode (x,1,2,2,4)ماذا تعنى هذ الجملةتعنى التالىاذا كانت قيمة x1ارجع القيمة 2واذا كانت قيمة x2ارحع القيمة 4اليك هذة القاعدة البسيطةSELECT DECODE (value,<if this value>,<return this value>, <if this value>,<return this value>, ....)FROM dual; وحاضر لاى سؤالselman0 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
searcher بتاريخ: 24 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 24 مايو 2005 اخى العزيزDecodeهى عبارة عن دالة تعمل عمل مشابه لمعنى if then elseاى انها تعيبر الى حد ما اداه شرطيةفهذا مثال ستفهم منه ان شاء الله تعالى عملهانفترض ان ليدك عدة موظفين فى عدة اقسام مختلفة و تريد ان تسترجع رواتب هؤلاء الموظفين و لكن بنسبة زيادة لكل موظف حسب قسمه يعنى قسم:-- رؤساء الاقسام(Dept_head) يكون راتبهم = الراتب الاساسى + 25 %-الموظفين(Employees) يكون راتبهم = الراتب الاساسى + 15 %-العمال(Worker) يكون راتبهم = الراتب الاساسى + 10%-اى شخص اخر غير هؤلاء(Other) يكون راتبهم = الراتب الاساسى فقط[/sql]select name,job_id,salary 'Decode(job_id,'Dept_head,0.25 * salary,'Employees',0.15 * salary,'Worker',0.10 * salary,salary from emp;مع افتراض ان اسم الجدول هو امب هنا ان كان الموظف الذى تم اختيارم يتبع قسم HDept_head سوف يكون مرتبة == الراتب الاساسى + 25 %و هكذا لباقى الموظفين و ان كان الموظف لا يتبع اى قسم من هذه الاقسام سيكون مرتبه فقط الاساسىارجوا ان اكون افدتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
modiOne بتاريخ: 24 مايو 2005 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 مايو 2005 يعطيكم الف عافيه ويجلعه الله في ميزان حسناتكم والله يزودكم بطاعة ويزودكم بالعلم النافع وشكراً لكرمكم يقال ليس البخيل بخيل المال بلى البخيل بخيل الجاه والعلم واشهد انكم اكرمتوني وشكر خاص على القامين على هذا المنتدى الرائع selman0searcherالف الف شكر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mah_dahshan بتاريخ: 28 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 28 مايو 2005 THANKS اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.