هيرودس بتاريخ: 8 يناير 2011 تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 (معدل) Declare V_Deptno number := &Dno; V_Comm V_Deptno%Type; Valid_Dept Boolean := True; Begin If V_Deptno = 10 Then V_Comm := 2000; ElsIf V_Deptno = 20 Then V_Comm := 2500; ElsIf V_Deptno = 30 Then V_Comm := 3000; ElsIf V_Deptno = 40 Then V_Comm := 3500; Else Valid_Dept := False; End If; IF Valid_Dept Then Update Emp Set comm = V_Comm Where Deptno = V_Deptno; Else Dbms_Output.Put_Line('Invalid Department Number'); End If; End; / ----------------------------ارجو التعديل على الكود السابق لزيادة 10% للموظفين اللي في الدائره 10 وزيادة 20% للموظفين اللي في الدائره20 الى اخرهيعطيكم العافيه ضروري تم تعديل 8 يناير 2011 بواسطة هيرودس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AFM.DBA بتاريخ: 8 يناير 2011 تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 Declare V_Deptno number := &Dno; V_Comm V_Deptno%Type; Valid_Dept NUMBER(1); CURSOR DEPT_VALID IS SELECT COUNT(1) FROM DEPT_TABLE WHERE DEPT_NO= V_Deptno; Begin OPEN DEPT_VALID; FETCH DEPT_VALID INTO Valid_Dept; CLOSE Valid_Dept; SELECT DECODE (V_Deptno,10,2000,20,2500,30,3000,40,3500) INTO V_Comm FROM DUAL; IF NVL(Valid_Dept,0)>0 Then Update Emp Set comm = V_Comm Where Deptno = V_Deptno; ElsIF NVL(Valid_Dept,0)=0 Then Dbms_Output.Put_Line('Invalid Department Number'); End If; End; / والله ولي التوفيق ,, اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AFM.DBA بتاريخ: 8 يناير 2011 تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 هذا مافهمته منكفي حالة انك تريد زيادة راتب كل موظف بنسبة من راتبه اليك الطريقة Declare V_Deptno number := &Dno; V_Comm NUMBER(15,2); Valid_Dept NUMBER(1); CURSOR DEPT_VALID IS SELECT COUNT(1) FROM DEPT_TABLE WHERE DEPT_NO= V_Deptno; Begin OPEN DEPT_VALID; FETCH DEPT_VALID INTO Valid_Dept; CLOSE Valid_Dept; SELECT DECODE (V_Deptno,10,0.1,20,0.2,30,0.3,40,0.4) INTO V_Comm FROM DUAL; IF NVL(Valid_Dept,0)>0 Then Update Emp Set SAL = SAL*(V_COMM+1) ,COMM=V_COMM Where Deptno = V_Deptno; ElsIF NVL(Valid_Dept,0)=0 Then MESSAGE('Invalid Department Number'); MESSAGE('Invalid Department Number'); End If; End; / اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هيرودس بتاريخ: 8 يناير 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 (معدل) اخوي زيادة كل دائره 10--اليها 10%20--اليها 20%30--البها30%40 اليها 40%رحم الله والديكيعني اللي في الدائره 10 اليهم زيادة في الراتب 10% كلهموااللي في الدائره 20 الموضفين اللي فيها 20% زيادة في رواتبهم تم تعديل 8 يناير 2011 بواسطة هيرودس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هيرودس بتاريخ: 8 يناير 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 قصدي salary اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AFM.DBA بتاريخ: 8 يناير 2011 تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 (معدل) قصدي salary الكود الثاني ينفذ ماطلبته انه سوف يزيد راتب كل واد في الادارة رقم عشرة مثلا ب 10% (0.1)من راتبه تم تعديل 8 يناير 2011 بواسطة AFM.DBA اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هيرودس بتاريخ: 8 يناير 2011 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 جعلك الله دخر وفخرا لوالديك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AFM.DBA بتاريخ: 8 يناير 2011 تقديم بلاغ مشاركة بتاريخ: 8 يناير 2011 جعلك الله دخر وفخرا لوالديك جزاك الله كل الخير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.