بتاريخ: 30 أبريل 200916 سنة comment_155404 السلام عليكم ورحمة الله وبركاتهطبعا انا كنت ابرمج بلغة فيجوال بيسك 6 وبعدها فيجوال بيسك دوت نت بس من تجربتي بالاعمال والسوق لقيت ان الاوراكل مهمة ومطلوبة اكثر من قبل الشركات والوظائف اكثرها لاصحاب الاوراكل طبعا موقعي هو :::::::::::::::: جدة - السعودية بديت اتعلم الاوراكل من فترة لحالي - سلف ستادي << يقاله يعرف انجليزي<< الرجال بيقص قصة حياته ؟المهم اخواني اخواتي ماطول عليكم بدخل بالموضوع تعلمت SQL ومشيت فيها بسرعة ودخلت في PL/SQL ومشيت فيها بعد تمام بس واجهتني مشكلة وانا ادرس الـــ Triggerطبعا البرنامج التالي كتبته على SQL*PLUS وهو كالتالي============== الكود ============== CREATE OR REPLACE TRIGGER check_sal AFTER INSERT OR UPDATE OF sal, job ON emp FOR EACH ROW WHEN (new.sal !='PRESIDENT') DECLARE v_minsal check_sal_emp.minsal%type; v_maxsal check_sal_emp.maxsal%type; BEGIN SELECT MINSAL, MAXSAL INTO v_minsal,v_maxsal FROM check_sal_emp WHERE JOB = :new.job; IF (:new.sal < :old.sal) then RAISE_APPLICATION_ERROR(-20230,'SALARY HAS BEEN DECREASED'); ELSIF (:new.sal < v_minsal or :new.sal > v_maxsal) then RAISE_APPLICATION_ERROR(-20225,'SALARY OUT OF RANGE'); ELSIF (:new.sal > :old.sal * 1.1) then RAISE_APPLICATION_ERROR(-20235,'SALARY INCREASED MORE THEN 10%'); END IF; END; =================== تم انشاء الـ Trigger بنجاح =============== الان المشكلة عندما اقوم بتعدل الراتب في الجدول emp =============== تعديل الراتب sal في الجدول emp ============== UPDATE emp SET sal = 500 ; طبعا جربت بطريقة ثانية UPDATE emp SET sal = 500 WHERE empno = 7499 ; ==================== يطلع لي خطأ يقول ERROR at line 1 : ORA-01722 : invalid number =================== حاولت فيه مادري ليش يطلع الخطأ ومادري وش غلطي ارجو من الخبراء مساعدتي في حل المشكلة وماهي غلطتي في البرنامج هذا ؟مع فائق الشكر === للعلم هذي اول مشاركة لي واول موضوع اخوكم مستحيل تقديم بلاغ
بتاريخ: 30 أبريل 200916 سنة comment_155406 السلام عليكم WHEN (new.sal !='PRESIDENT') ما هو نوع المتغير sal هل هو رقمى او حرفي تقديم بلاغ
بتاريخ: 4 مايو 200916 سنة كاتب الموضوع comment_155752 اي والله كيف غابت عني هذيsal نوع رقمي مو حرفييعطيك الف عافية استاذي امجد ان شاء الله ما وقع بالخطأ هذا مرة ثانية بس الحين خلاص عرفت invalid number يعني عدم تطابق الـ data type مستحيل انسى غلاك تقديم بلاغ
بتاريخ: 9 مايو 200916 سنة comment_156218 mmken teb3atly el script bta3 el tabel dahcheck_sal_emp3shan a3raf asa3dak تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.