بتاريخ: 12 ديسمبر 201015 سنة comment_205139 انا اقوم بعمل شاشة لعرض TABULAR حسب نوع الموظف من داخل POPLISTولكن اريد عرض كل الموظفين الموجودين فى الجدول فى حالة اختيار كلمة الكل من POPLIST والتى قيمتها تكون 0 برجاء المساعدة ال COMPILER بيرفض CASE WHEN فهل لا يمكن استخدامها داخل PL/SQL مع العلم ان نفس جملة الSELECT تعمل داخل التقارير بدون مشاكل DECLARE V_JOB_ID :=:JOB_ID; CURSOR PEMP IS SELECT DISTINCT EMP.EMPNO, JOB.JOB_NAME FROM EMP WHERE EMP.JOB_ID = JOB.JOB_ID AND EMP.JOB_ID =(CASE WHEN :JOB_ID = 0 THEN EMP.JOB_ID ELSE :JOB_ID END); تقديم بلاغ
بتاريخ: 13 ديسمبر 201015 سنة comment_205159 اولا انت ناسى ملف الjob ثانيا جرب بعد التعديل التالى DECLARE V_JOB_ID :=:JOB_ID; CURSOR PEMP IS SELECT DISTINCT EMP.EMPNO, JOB.JOB_NAME FROM EMP,job WHERE EMP.JOB_ID = JOB.JOB_ID AND (EMP.JOB_ID = :JOB_ID) or (:JOB_ID = 0); تم تعديل 13 ديسمبر 201015 سنة بواسطة asmaa123 تقديم بلاغ
بتاريخ: 13 ديسمبر 201015 سنة comment_205203 السلام عليكمجرب هذه: Select Distinct Emp.Empno, Job.Job_Name From Emp, Job Where Emp.Job_Id = Job.Job_Id And Emp.Job_Id = Nvl(:Blk_1.Job_Id, Emp.Job_Id); بالتوفيق. تقديم بلاغ
بتاريخ: 13 ديسمبر 201015 سنة كاتب الموضوع comment_205212 شكراً يا استاذة asmaa123 على تفاعلك معىوشكرا يا استاذ Ahmad.Hasan ونجحت بالفعل طريقة NVL بشرط جعل قيمة المتغير Null بدلا من 0 ولكن هل لا يمكن استخدام CASE WHEN داخل PL/SQLوشكرا مرة ثانية وأن الله في عون العبد ما دام العبد في عون أخيه تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.