بتاريخ: 21 سبتمبر 200718 سنة comment_110578 السلام عليكم عندي SEQUENCE على TABLE ومستخدم TRIGGER على مستوى الTABLEقبل ما يدخل اي سجل جديد يضيف رقم من الSEQUENCEالسؤال هو كتالي:اريد ان أظهر الرقم الذي سوف يخرجة SEQUENCE في الفورم ليشاهدة المستخدم لانة سيكون هو الرقم الوظيفي BEGIN SELECT (EMP_CARD_SQ.CURRVAL)+1 INTO :EMP_CARD.EMP_NO FROM DUAL; END; لكن يعطيني ORA-00600 خطأ غير واضح ياريت تساعدوني في ايجاد الحل, ولكم الثواب من الله تحياتي لكم تم تعديل 21 سبتمبر 200718 سنة بواسطة nael14 تقديم بلاغ
بتاريخ: 21 سبتمبر 200718 سنة comment_110580 مرجبا نائلفي كثير من المواضيع عن sequence راجع هذا الرابطclick hereتحياتي تقديم بلاغ
بتاريخ: 21 سبتمبر 200718 سنة كاتب الموضوع comment_110587 شكرا لك يا صديقي لكن أريد استخدامه في الفورم بحيث اظهر الرقم المتوفر في sequence واضف الية 1 ليصبح رقم الموظف الجديد تقديم بلاغ
بتاريخ: 21 سبتمبر 200718 سنة comment_110597 الأخ نائل إذا كنت تريد أستخدامه في الفورم بكل بساطة أعمل التالي : SELECT SEQ_NO.NEXTVAL INTO :SERIAL_NO FROM DUAL; حيث :SERIAL هو احقل الي راح يحمل قيمة السكونسجرب و خبرني ... تقديم بلاغ
بتاريخ: 21 سبتمبر 200718 سنة comment_110609 او ممكن ان تضع فى خصائص الحقل property palette المراد اظهار الرقم به اسم السيكونس فى خاصيه intial value كما يلى intial value :SEQUENCE.my_seq.NEXTVAL جرب واعمل رن وقولى تقديم بلاغ
بتاريخ: 22 سبتمبر 200718 سنة كاتب الموضوع comment_110665 السلام عليكم أشكركم على سرعة الرد,, أخي sky information وأخي magedomran,ولكن قبل أن أكتب هذا الموضوع كنت قد فعلت كما قال الاخ sky لكن يظهر erorrORA-00600, هذة هي المشكلة التي تواجهنيبالنسبة لاقتراح أخي magedomran لا أريد استخدام NEXTVAL في الفورمة فأنا استخدم PRE-INSERعلى مستوى الTABLE لتمرير الرقم, ولكن اريد استخدام CURRVAL واضيف 1 يصبح NEXTVALأي أن كل هذة العملية ليشاهد المدخل للبيانات الرقم الوظيفي للموظفأرجو أن أن أكون قد وفقت في شرح ما أريدبوركتم على الرد, وجزاكم الله خيرا تم تعديل 22 سبتمبر 200718 سنة بواسطة nael14 تقديم بلاغ
بتاريخ: 22 سبتمبر 200718 سنة comment_110669 اعتقد ان اراء الزملاء افضل مع استخدام ال nextval or max داخل تريجير pre insert مع الاطهار لرقم المسلسل قبل الخروج من الشاشه اما اقتراحك بالتعامل مع ال CURRVAL عند فتح الشاشة ثم اضافة 1 ستواجه مشكلة عندما يكون لديك اكثر من مستخدم يتعامل مع نفس الشاشه أو نفس السجل فى نفس الوقت بمعنى ان جميع المستخدمين فى نفس اللحظه سيحصلون عند الدخول على الرقم الحالى وليكن 500 (مثلا) ثم اضافة 1 = 501وبالتالى احدهم سيجل الرقم 501 والباقى سيظهر لهم رسالة -- سجل سبق ادخالة -- select sequence.nextval from sys.dual لمعالجة رسالة الخطأ ORA-00600 جرب : استخدم sys قبل dualأو هذا الرابط من هنــا تقديم بلاغ
بتاريخ: 22 سبتمبر 200718 سنة كاتب الموضوع comment_110674 شكرا لك أخ Amgadكلامك منطقي جدا, وسأجرب وضع sys قبل dual مشكور على سرعة الرد تقديم بلاغ
بتاريخ: 22 سبتمبر 200718 سنة comment_110705 أخى العزيز nael14 عندى ملحوظة أرجو أنها قد تفيدكيف سيمكنك إظهار ال currval من ال sequenceإذا كنت لم تستخدم بعد أى nextval.حيث انه يجب اطلاق ال nextval على الأقل مرة واحدة من ال sequenceقبل ان تستطيع استخدام currval..................... تقديم بلاغ
بتاريخ: 24 مارس 201016 سنة comment_188105 intial value :SEQUENCE.my_seq.NEXTVALشكرا لكم ,,,, لقد و جدت ضالتي هنا ,,,ولكن اذا اردت الأرقام المولدة في السلسلة(pat_no_sq) تكون بهذا الشكل 0001 و ليس هكذا 1ماهي الطريقة تحيتي تم تعديل 24 مارس 201016 سنة بواسطة إسكادا تقديم بلاغ
بتاريخ: 24 مارس 201016 سنة comment_188116 السلام عليكمأخي العزيز تأكد من نوع الحقل على :EMP_CARD.EMP_NO أن تكون رقم,وجرب على وضع Exception في جملة Select Exception When No_Data_Found Then :EMP_CARD.EMP_NO := 0 بالتوفيق تم تعديل 24 مارس 201016 سنة بواسطة malik alwadi تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.