بتاريخ: 23 سبتمبر 200520 سنة comment_47951 أخواني أنشئت سكونس في sql وبعدين ذهبت إلي الفورم لكي اعرف السكونس علي مستوى per insert trigger علي بلوك emp جميل وكتبت التالي داخل per insert triggerselect emp_seq.nextvalinto :emp.empnofrom emp;المشكلة لاتظهر السكونس في حقل empno أريد عند أدخال أسم الموظف يعطيني الرقم السسلسلي بعد أخر رقم فما هوة الحل أحبابي وشكراّ تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة comment_47954 الاخ الفاضل ايمنعلي حسب معلوماتي كل ما فعلته سليم ولكن جملة select لا يضاف بها from وتكون الجملة select emp_seq.nextval into :emp.empno; تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة كاتب الموضوع comment_47973 girl_oracleممكن توضيح أكثر الله يبارك فيكي هل أمسح التريجر الا أنا عملتة واضع هذا مكانة select emp_seq.nextval into :emp.empno;وعزيزى كتب هذا السطر عطاني خطاء هوة والتريجر لا يقبل الكمبيلر كتبت select emp_sq.nextvalinto :emp2.empnofrom sys.dual;لايظهر أي رقم من السكونس في empno أوجوا الرد أني زهئت بصراحة وعملت جميع المحاولات تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة كاتب الموضوع comment_47975 السلام عليكم ورحمة الله وبركاتة أخواني عملت يكونس يعد من أحد إلي مالانهاية وبعدين أضفت السكونس علي على الفورم مثلا empno, ename , job وأدخلت عشر موظفين عند مسح المظفين كلهم وأيد أدخال موظف جديد بيداء السكونس بعد من بعد اخر أواحد أدخلتة مثل دخلت 10 ومسحتهم الجديد يأخذ رقم 11 وليس رقم واحد أرجوا الاهمية موضوعي وشكراّ أيمن تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة comment_47989 الاخ السائلتحية طيبة وبعدtrigger الذى قمت بعمله سليم ولكن الجملة تعدل كما كتيتها سابقا ولكن يجب الاخذ فى الاعتبار ان trigger من نوع pre insert لا يعمل ويعطي النتيجة الا اذا قمت بعمل حفظ هنا وفى هذه الحالة فقط يظهر الرقم التالى من sequence لذلك يجب ان تراعى هذا الشرطبمعنى انه لا يعمل الا اذا قمت بعمل commit_formوهذه الطريقه تستخدم فى حالة ان البرنامج الذى قمت بتصميمه يعمل عليه اكثر من مستخدم لذلك يتم عمل هذا الكود حتي لا تتكرر الارقام اذا قام اتنين من المستخدمين فى نفس اللحظة بادخال بياناتارجو ان يكون وفقنى الله وساعدتك وان كان لك استفسار اخر لا تتردد وان كنت ترغب فى ارسال الform فلا مانع لدي من التعديل على الفورم نفسهاوشكرا تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة comment_47992 الاخ ayman-king الاخت girl_oracleلم ينفك الاخ العزيز على قلبى mustafa76 من ابداء النصح والمساعدة حتى وهو ممنوع من الكتابة بالموقع على كل حال افادني بما يلي اذا كنتم تعملون على الديفيلوبر 9iوما فوق فلا تستخدموا ال pre-insert وجملة السيليكت بل استخدمو التالي في القيمة البدائية للايتم ادخلوا ما يلي :sequence.sequence_name .nextval مثال :sequence.seq1.nextval فسوف يظهر الرقم مباشرة عند ادخال اي سجل جديد . والله انك لرائع ايها العزيز تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة كاتب الموضوع comment_48009 أختي girl_oracle أشكرك على أهتمامك بموضوعي ورضك السريع الذي يبين على نبل أخلاقك عملت كل شيء بعد مساعدتك جميل وأشتغلت السكونس أخر حلاوة المشكلة السؤال هنا لما حبيت أمسح موظف كان رقمة 4 المفروض لما أجي أضيف موظف أخر ياخذ تدريجياّ رقم 4 المشكلة يحسب عملية المسح برقم يفوت أربعة ويأخذ 5 ولو مسحت كل الموظفين ولو كانة كلهم 7 موظفين لما أجي أعمل أنسرت جديد يأخذ من بعد السبعة أرجوا مكنش كترت في حديثي الاخ muatafa كلامك جميل مساعدتك أجمل المشكلة لو عملت لو عملت القمية الافتراضية عند الفتح الشاشة كل مرة تأخذ رقم هذة مشكلة طبعاّ وأشكرك علي مشاركتك في أنتظار الرد تقديم بلاغ
بتاريخ: 23 سبتمبر 200520 سنة comment_48010 -The START WITH option con not be changed using ALTER SEQUENCE, the sequence must be dropped and re-created in order by restart the sequence at a different number. تقديم بلاغ
بتاريخ: 24 سبتمبر 200520 سنة comment_48021 الاخ ايمناشكرك جدابالنسبة للمشكلة يجب ان تاخذ فى الاعتبار ان الرقم الذى تقوم بالغاؤه فى الsequence لا يمكن استعادته الا بالغاء الsequence واعاده انشاؤة مرة اخرى وهذه احدى عيوب استخدام الsequenceولكن هناك طريقة اخرى تستخدم بدلا من sequence وهى الحصول على اخر رقم ثم اضافة 1 اليه وهذه الطريقة تمكنك من تتابع تسلسل الارقام ولكن يعاب على هذه الطريقة فى انها فى حالة وجود اكثر من مستخدم يتصادف انهم يقومون فى نفس اللحظة بعمل insert فمن الممكن ان تكرر الارقام الا اذا كان العمود primary key او uniqueفلك مطلق الحريه فى استخدام اى من الطريقتين فاذا كنت ترغب فى معرفة كود اضافه رقم الى اخر سجل فانا تحت امركوشكرا تقديم بلاغ
بتاريخ: 24 سبتمبر 200520 سنة كاتب الموضوع comment_48040 أختي girl_oracle الامر لله وحدة أشكرك بشدة على مجهودك وردك السريع أنا عارف زهئتك مني بكثرة أسئلتي أنا في المشكلة هذة من أسبع حتي الان أطلع وأقراء ولا في فيدة أشكر الله سبحانة وتعالي وأشكرك على مساعدتك بس أتنمني من نفسي يكون أخر سؤال عشان أنا حاسس تئلت عليكي بكترة أسئلتي ممكن أعرف الحصول على أخر رقم ثم أضيف واحد تكتب تحت أنة مستوي من التريجر post or preلو ممكن لو فيها تعب عليكي الكود وكيفية وضعة تقديم بلاغ
بتاريخ: 24 سبتمبر 200520 سنة comment_48055 نفترض انك تتحدث عن عمود رقم الفاتورة المسمي inv_no وانت تريد ان يظهر رقم الفاتورة تلقائيا عند حفظك للفورمالطريقة ان تقوم بعمل trigger على مستوي block من نوع pre-insert وتقوم بكتابة الكود الاتي به بفرض ان اسم الجدول order_inbeginselect max(nvl(inv_no,0)+1) into :order_in.inv_no from order_in;end;وهذا ابسط انواع الاضافة حاول التجربة وانا تحت امرك تم تعديل 24 سبتمبر 200520 سنة بواسطة girl_oracle تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.