بتاريخ: 14 يونيو 200520 سنة comment_39122 فى شاشة لدى يوجد تاريخ و هوة بهيئة dd-mm-yyyyو اردت ان اختار اكبر سيريال موجود فى هذة السنة yyyyعلما انة يوجد اعوام اخرى مسجلة مثل 2005-2004-2003و حاولت بجميعالطرق الممكنة و لم يحدث فرق BEGIN SELECT MAX(nvl(V_SERIAL_SIGAL,0)+1) INTO :V_SERIAL_SIGAL from V_SIGIL WHERE to_date(:V_DATE) in (select distinct TO_date(V_DATE,'YYYY')from V_SIGIL); END; تم تعديل 14 يونيو 200520 سنة بواسطة ayman_tamim تقديم بلاغ
بتاريخ: 14 يونيو 200520 سنة comment_39140 BEGIN SELECT MAX(nvl(V_SERIAL_SIGAL,0)+1) INTO :V_SERIAL_SIGAL from V_SIGIL WHERE V_DATE=(select max(V_DATE)from V_SIGIL); END; اكبر رقم موظف تعين في اخر عام BEGIN SELECT MAX(empno) INTO :V_empno from emp WHERE hiredate=(select max(hiredate) from emp); END; عسى ان اكون قد فهمت مبتغاك تقديم بلاغ
بتاريخ: 14 يونيو 200520 سنة comment_39141 BEGIN SELECT MAX(nvl(V_SERIAL_SIGAL,0)+1)INTO :V_SERIAL_SIGAL from V_SIGIL WHERE to_date(:V_DATE) in (select distinct TO_CHAR(V_DATE,'YYYY')from V_SIGIL); END; تقديم بلاغ
بتاريخ: 15 يونيو 200520 سنة كاتب الموضوع comment_39197 عسى ان اكون قد فهمت مبتغاك انه قريب و لكن ليس هوة المطلوبحاليا جميع تواريخ الادخال تكون فى سنة 2005و لكنهم سوف يدخلون جميع السجلات فى السنوات الماضيةاذن كل سنة ليها ارقام تسلسلية متشابهةمثال فى سنة 2000 لديهم من رقم 1 الى رقم 500 فى السجلاتو فية سنة 2001 لديهم من رقم 1 الى رقم 700 و هكذافاريد ان ازيد المسلسل الخاص بالسنةاما الكود الذى تم ارفاقة فانة يعمل على اكبر تاريخ فقطو ليس تواريخ قديمة تقديم بلاغ
بتاريخ: 15 يونيو 200520 سنة comment_39212 حسب المشروحات التي ذكرتها فيجب ان يتم إدخال تاريخ السجل او سنة السجل قبل إظهار الرقم (رقم السجل) وهنا إذا تم إدخال تاريخ السجل يكون الحل كما يلي :SELECT MAX(nvl(V_SERIAL_SIGAL,0)+1) INTO :V_SERIAL_SIGAL from V_SIGIL WHERE TO_CHAR(V_DATE,'YYYY')=TO_CHAR(:V_DATE,'YYYY');أما إذا أدخلت سنة السجل أولاً ولنسمه (v_year) عندئذ الحل هو :SELECT MAX(nvl(V_SERIAL_SIGAL,0)+1) INTO :V_SERIAL_SIGAL from V_SIGIL WHERE TO_CHAR(V_DATE,'YYYY')=:V_YEAR;أتمنى ان يكون هذا حل ما طلبت تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.