بتاريخ: 29 مارس 201016 سنة comment_188597 مرحبا باخواني الاعزاء ارجو حل السؤال التالي :اضافة عموله لكل موظف حسب راتبه باستخدام CURSOR والمتغيرات عن طريق ال UPDATE , عن طريق جدول EMP...........مثلا ايENTER_MIN(SAL)&ENTER_MAX (SAL)& ادخال الراتب يدوي مثال 100 300 العموله هيه 5% عن طريق ال UPDATE اي من راتب 100 الى راتب 300 العموله هيه 5%مابين 200 و 400 اريد لهم عموله 9% وهكذذذذذا في كل مره تم تعديل 29 مارس 201016 سنة بواسطة رشدي راشد تقديم بلاغ
بتاريخ: 29 مارس 201016 سنة comment_188598 السلام عليكم ورحمة الله وبركاته ---------------------------------------شوف كده ان شاء الله يكون الحل ده صحيح CREATE OR REPLACE PROCEDURE RAISE_SALARY(MIN_SAL NUMBER,MAX_SAL NUMBER , BOUNSE NUMBER ) AS BEGIN FOR REC IN ( SELECT EMP_NO , SAL FROM EMP WHERE SAL BETWEEN MIN_SAL AND MAX_SAL ) LOOP UPDATE EMP SET SAL=REC.SAL + ( BOUNSE / REC.SAL ) * 100 WHERE EMP_NO=REC.EMP_NO; END LOOP; COMMIT; END; تقديم بلاغ
بتاريخ: 29 مارس 201016 سنة كاتب الموضوع comment_188600 شكرا على الحلبس انا ما بدي اياه باستخدام PROCEDURE ولا loopلاني لسا مبتدأ في الاوركل ارجو حله باستخدام CURSOR و عن طريق ال UPDATE ارجو انك فهمت قصديوشكرا لك............... تقديم بلاغ
بتاريخ: 29 مارس 201016 سنة comment_188605 SET SERVEROUTPUT ON DECLARE CURSOR deb_cursor iS SELECT SAL , EMPNO from emp WHERE sal BETWEEN &min_sal and &max_sal ; v_sal number(10,3) :=&SS ; x_EMPNO number(10); f_sal number(10,3); x_sal number(10,3); BEGIN v_sal := v_sal / 100; OPEN deb_cursor; LOOP FETCH deb_cursor INTO x_sal, x_EMPNO ; f_sal := x_sal; x_sal := v_sal * x_sal ; f_sal := x_sal + f_sal; update emp set sal = f_sal where EMPNO = x_EMPNO; EXIT WHEN deb_cursor%NOTFOUND; end loop ; CLOSE deb_cursor; end; علما ان ss هى نسبه الزياده انا عملو بابسط طريقه لو فى حاجه مش فهامه انا تحت امرك تم تعديل 29 مارس 201016 سنة بواسطة mostfa_future تقديم بلاغ
بتاريخ: 29 مارس 201016 سنة comment_188616 BEGIN FOR REC IN ( SELECT EMP_NO , SAL FROM EMP WHERE SAL BETWEEN :MIN_SAL AND :MAX_SAL ) LOOP UPDATE EMP SET SAL=REC.SAL + ( :BOUNSE / REC.SAL ) * 100 WHERE EMP_NO=REC.EMP_NO; END LOOP; COMMIT; END ; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.