بتاريخ: 25 يونيو 20179 سنة comment_287745 أولاً كل عام وكل أعضاء المنتدى الكرام بالف خير .... المشكلة : الكود ده بيشتغل على برنامج التود كويس جدا وبيعمل compile تمام بس لما دخلته على زرار وعملت لزرار تريجر للكود بس لما بضغط عليه بيطلع ايرور تجرية الحلول : ان ازود كل الداتا بلوك اللي الكود بيتغل عليها ... او اجعل الزرار على بلوك خارجية بدون اي داتا بلوك محملة برضو مش شغال عمل الكود بيجمع بيانات من جدول لجدول تاني وبعمل عليها معالجات وتتسجل في اعمدة في الجدول الجديد. DECLARE x NUMBER (5); y NUMBER (5); BEGIN SELECT MIN (details.emp_no) INTO y FROM details; SELECT MAX (details.emp_no) INTO x FROM details; FOR i IN y .. x LOOP INSERT INTO calc (emp_no, mnth, salary, plus, tot, deduction ) VALUES (i, TO_CHAR (06), (SELECT salary FROM details WHERE details.emp_no = i), (SELECT salary FROM details WHERE details.emp_no = i) * 0.75, (SELECT salary FROM details WHERE details.emp_no = i) + ((SELECT salary FROM details WHERE details.emp_no = i) * 0.75), -------------------------------------------------- (SELECT SUM (absent.VALUE) FROM absent WHERE absent.on_acc = 2 AND absent.emp_no = i) * (SELECT salary / 30 FROM details WHERE details.emp_no = i) ------------------------------------------------------------- ); END LOOP; UPDATE calc SET deduction = 0 WHERE calc.deduction IS NULL; ------------------------------------- SELECT MIN (details.emp_no) INTO y FROM details; SELECT MAX (details.emp_no) INTO x FROM details; FOR i IN y .. x LOOP UPDATE calc SET txbl_sal = tot - deduction WHERE calc.txbl_sal IS NULL AND calc.emp_no = i; UPDATE calc SET tax = txbl_sal * 0.1 WHERE calc.tax IS NULL AND calc.emp_no = i; UPDATE calc SET net = txbl_sal - tax WHERE calc.net IS NULL AND calc.emp_no = i; END LOOP; ------------------------------ END; تقديم بلاغ
بتاريخ: 26 يونيو 20179 سنة كاتب الموضوع comment_287752 الايرور هو frm 40735 .............. ora 01722 --------------------------------------------------------- مع العلم ان بعمل insert value للجدول الجديد وفي التود كان فيه أحد الـ value عبارة عن select statement وبتشتغل عادي لكن في الفورم لما بعمل compile للتريجر بيجيب ايرور ويقف عند اول كلمة سلكت فوضعت جملة السلكت بين ' .. ' فعمل compile بدون ايرور لكن لما بشغل الفورم وبضغط الزرار بيجيب الايرور اللي مكتوب .... اسف للطالة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.