yousef mohamed بتاريخ: 1 مارس 2016 تقديم بلاغ مشاركة بتاريخ: 1 مارس 2016 (معدل) عندى حقل تاريخ الاجازة عايز اعمل له سيلكت واقارنة بالجديد علشان عدم تكرار ادخال الاجازة كتبتة بالمنظر دة بس مش شغال declare u varchar2 (150) ; begin select To_Char(s_Date,'dd-mm-yyyy') into u from vacation_d where emp_no= :VACATION.emp_no ; if To_Char(:s_Date,'dd-mm-yyyy') = To_Char(u,'dd-mm-yyyy') then message ('هذه الاجازة مسجلة من قبل'); end if; end; تم تعديل 1 مارس 2016 بواسطة ميسم الكرام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Faisal Matari بتاريخ: 1 مارس 2016 تقديم بلاغ مشاركة بتاريخ: 1 مارس 2016 (معدل) الكود صحيح ولكن يمكن يكون عشان المتغير الذي تم تعريفة (u) يجب تغيير تسميته الى oldate مثلا ، فيصبح الكود declare oldate nvarchar2(50); begin select To_Char(s_Date,'dd-mm-yyyy') into oldate from vacation_d where emp_no= :VACATION.emp_no ; if To_Char(:s_Date,'dd-mm-yyyy') = To_Char(oldate,'dd-mm-yyyy') then message ('هذه الاجازة مسجلة من قبل'); end if; end; والله اعلم تم تعديل 1 مارس 2016 بواسطة ميسم الكرام اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
yousef mohamed بتاريخ: 1 مارس 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 مارس 2016 (معدل) الاخ العزيز Faisal Matari للاسف جربت الكود وبيدى خطأ بردو مش شغال وشكرا على المساعدة مع خالص حبى واعتزازى تم تعديل 1 مارس 2016 بواسطة scdc2003 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 1 مارس 2016 تقديم بلاغ مشاركة بتاريخ: 1 مارس 2016 الي هو ايه بقى الخطأ ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
yousef mohamed بتاريخ: 1 مارس 2016 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 مارس 2016 (معدل) تقريبا بيرجع باكثر من قيمة لان التسجيل فيه اكتر من اجازة كدة مظبوط ولا انا غلطان انا مش فاهم بصراحة الخطأ فين بس هو بعمل خطأ فى التريجر تم تعديل 1 مارس 2016 بواسطة scdc2003 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
eslam elbyaly بتاريخ: 1 مارس 2016 تقديم بلاغ مشاركة بتاريخ: 1 مارس 2016 المفروض ان الخطأ ليه رقم , فمينفعش تقريبا , عموما لو كده , فيبقى طبيعى , لانك بترجع في متغير بيشيل قيمة واحدة , المفروض تستخدم كرسور , بس هو في اكتر من قيمة متشابهة ازاى وانت مش عايزه يشيل اكتر من قيمة متشابهة ؟ ! اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Faisal Matari بتاريخ: 2 مارس 2016 تقديم بلاغ مشاركة بتاريخ: 2 مارس 2016 إذا كان الخطأ أنه يرجع أكثر من قيمة فهناك حل هو اختيار القيمة رقم 1 كما يلي: select To_Char(s_Date,'dd-mm-yyyy') into oldate from vacation_d where emp_no= :VACATION.emp_no and rownum =1; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 2 مارس 2016 تقديم بلاغ مشاركة بتاريخ: 2 مارس 2016 السلام عليكم جرب الكود: DECLARE CURSOR C IS SELECT TO_CHAR (S_DATE, 'DD-MM-YYYY') S_DATE FROM VACATION_D WHERE EMP_NO = :VACATION.EMP_NO; BEGIN FOR REC IN C LOOP IF TO_CHAR (:S_DATE, 'DD-MM-YYYY') = REC.S_DATE THEN MESSAGE ('هذه الاجازة مسجلة من قبل'); MESSAGE ('هذه الاجازة مسجلة من قبل'); END IF; END LOOP; END; 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.