بتاريخ: 3 أبريل 201016 سنة comment_188870 ارجو مساعدتي في حل السؤال .السؤال :اكتب cursor اسمه update_sal يعمل على زيادة موظفي الدائرة (القسم) 10 بنسبة 10%وموظفي الدائرة (القسم) 20 بنسبة 20%وموظفي باقي الدوائر بنسبة 5% .ارجو المساعدة...ولكم جزيل الشكر ...مشكوورين........ تقديم بلاغ
بتاريخ: 3 أبريل 201016 سنة comment_188877 السلام عليكم ورحمة الله وبركاته ------------------------------------ BEGIN FOR REC IN ( SELECT * FROM EMP ) LOOP UPDATE EMP SET SAL=SAL + ( SELECT DECODE ( REC.DEPT_NO , 10 ,REC.SAL * 10/100,20,REC.SAL * 20/100 , REC.SAL*5/100) FROM DUAL ) WHERE EMP_NO=REC.EMP_NO; END LOOP; COMMIT; END; تقديم بلاغ
بتاريخ: 3 أبريل 201016 سنة comment_188896 SET SERVEROUTPUT ON DECLARE CURSOR deb_cursor iS SELECT SAL ,DEPTNO , EMPNO from emp ; v_sal number(10,3) ; x_DEPTNO number(10); x_EMPNO number(10); BEGIN OPEN deb_cursor; LOOP FETCH deb_cursor INTO x_sal,x_DEPTNO,x_EMPNO ; if x_DEPTNO =10 then update emp set sal=x_sal*.10 where EMPNO =x_EMPNO ; end if; if x_DEPTNO =20 then update emp set sal=x_sal*.20 where EMPNO =x_EMPNO ; end if; if x_DEPTNO >20 then update emp set sal=x_sal*.5 where EMPNO =x_EMPNO ; end if; EXIT WHEN deb_cursor%NOTFOUND; end loop ; CLOSE deb_cursor; end; تم تعديل 3 أبريل 201016 سنة بواسطة mostfa_future تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.