الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

امشكلة في السكونس

Featured Replies

بتاريخ:

أخواني أنشئت سكونس في sql
وبعدين ذهبت إلي الفورم لكي اعرف السكونس علي مستوى per insert trigger
علي بلوك emp
جميل
وكتبت التالي داخل per insert trigger

select emp_seq.nextval
into :emp.empno
from emp;

المشكلة لاتظهر السكونس في حقل empno
أريد عند أدخال أسم الموظف يعطيني الرقم السسلسلي بعد أخر رقم

فما هوة الحل أحبابي
وشكراّ :)

بتاريخ:

الاخ الفاضل ايمن
علي حسب معلوماتي كل ما فعلته سليم ولكن جملة select لا يضاف بها from وتكون الجملة
select emp_seq.nextval into :emp.empno;

بتاريخ:
  • كاتب الموضوع

girl_oracle
ممكن توضيح أكثر الله يبارك فيكي هل أمسح التريجر الا أنا عملتة واضع هذا مكانة select emp_seq.nextval into :emp.empno;
وعزيزى كتب هذا السطر عطاني خطاء هوة والتريجر لا يقبل الكمبيلر

كتبت select emp_sq.nextval
into :emp2.empno
from sys.dual;
لايظهر أي رقم من السكونس في empno
أوجوا الرد أني زهئت بصراحة وعملت جميع المحاولات

بتاريخ:
  • كاتب الموضوع

السلام عليكم ورحمة الله وبركاتة
أخواني عملت يكونس يعد من أحد إلي مالانهاية
وبعدين أضفت السكونس علي على الفورم مثلا empno, ename , job
وأدخلت عشر موظفين عند مسح المظفين كلهم
وأيد أدخال موظف جديد بيداء السكونس بعد من بعد اخر أواحد أدخلتة مثل دخلت 10 ومسحتهم
الجديد يأخذ رقم 11 وليس رقم واحد
أرجوا الاهمية موضوعي
وشكراّ أيمن

بتاريخ:

الاخ السائل
تحية طيبة وبعد
trigger الذى قمت بعمله سليم ولكن الجملة تعدل كما كتيتها سابقا ولكن يجب الاخذ فى الاعتبار ان trigger من نوع pre insert لا يعمل ويعطي النتيجة الا اذا قمت بعمل حفظ هنا وفى هذه الحالة فقط يظهر الرقم التالى من sequence لذلك يجب ان تراعى هذا الشرط
بمعنى انه لا يعمل الا اذا قمت بعمل commit_form
وهذه الطريقه تستخدم فى حالة ان البرنامج الذى قمت بتصميمه يعمل عليه اكثر من مستخدم لذلك يتم عمل هذا الكود حتي لا تتكرر الارقام اذا قام اتنين من المستخدمين فى نفس اللحظة بادخال بيانات
ارجو ان يكون وفقنى الله وساعدتك وان كان لك استفسار اخر لا تتردد وان كنت ترغب فى ارسال الform فلا مانع لدي من التعديل على الفورم نفسها
وشكرا

بتاريخ:

الاخ ayman-king الاخت girl_oracle

لم ينفك الاخ العزيز على قلبى mustafa76 من ابداء النصح والمساعدة حتى وهو ممنوع من الكتابة بالموقع على كل حال افادني بما يلي

اذا كنتم تعملون على الديفيلوبر 9iوما فوق فلا تستخدموا ال pre-insert وجملة السيليكت بل استخدمو التالي

في القيمة البدائية للايتم ادخلوا ما يلي

:sequence.sequence_name .nextval
مثال

:sequence.seq1.nextval
فسوف يظهر الرقم مباشرة عند ادخال اي سجل جديد .

والله انك لرائع ايها العزيز

بتاريخ:
  • كاتب الموضوع

أختي girl_oracle أشكرك على أهتمامك بموضوعي ورضك السريع الذي يبين على نبل أخلاقك
عملت كل شيء بعد مساعدتك جميل وأشتغلت السكونس أخر حلاوة المشكلة السؤال هنا لما حبيت أمسح موظف كان رقمة 4 المفروض لما أجي أضيف موظف أخر ياخذ تدريجياّ رقم 4 المشكلة يحسب عملية المسح برقم يفوت أربعة ويأخذ 5 ولو مسحت كل الموظفين ولو كانة كلهم 7 موظفين لما أجي أعمل أنسرت جديد يأخذ من بعد السبعة
أرجوا مكنش كترت في حديثي
الاخ muatafa كلامك جميل مساعدتك أجمل المشكلة لو عملت لو عملت القمية الافتراضية عند الفتح الشاشة كل مرة تأخذ رقم هذة مشكلة طبعاّ
وأشكرك علي مشاركتك في أنتظار الرد

بتاريخ:

-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.

بتاريخ:

الاخ ايمن
اشكرك جدا
بالنسبة للمشكلة يجب ان تاخذ فى الاعتبار ان الرقم الذى تقوم بالغاؤه فى الsequence لا يمكن استعادته الا بالغاء الsequence واعاده انشاؤة مرة اخرى وهذه احدى عيوب استخدام الsequence
ولكن هناك طريقة اخرى تستخدم بدلا من sequence وهى الحصول على اخر رقم ثم اضافة 1 اليه وهذه الطريقة تمكنك من تتابع تسلسل الارقام ولكن يعاب على هذه الطريقة فى انها فى حالة وجود اكثر من مستخدم يتصادف انهم يقومون فى نفس اللحظة بعمل insert فمن الممكن ان تكرر الارقام الا اذا كان العمود primary key او unique
فلك مطلق الحريه فى استخدام اى من الطريقتين فاذا كنت ترغب فى معرفة كود اضافه رقم الى اخر سجل فانا تحت امرك
وشكرا

بتاريخ:
  • كاتب الموضوع

أختي girl_oracle الامر لله وحدة أشكرك بشدة على مجهودك وردك السريع أنا عارف زهئتك مني بكثرة أسئلتي أنا في المشكلة هذة من أسبع حتي الان
أطلع وأقراء ولا في فيدة أشكر الله سبحانة وتعالي وأشكرك على مساعدتك
بس أتنمني من نفسي يكون أخر سؤال عشان أنا حاسس تئلت عليكي بكترة أسئلتي
ممكن أعرف الحصول على أخر رقم ثم أضيف واحد تكتب تحت أنة مستوي من التريجر post or pre
لو ممكن لو فيها تعب عليكي الكود وكيفية وضعة

بتاريخ:

نفترض انك تتحدث عن عمود رقم الفاتورة المسمي inv_no وانت تريد ان يظهر رقم الفاتورة تلقائيا عند حفظك للفورم
الطريقة ان تقوم بعمل trigger على مستوي block من نوع pre-insert وتقوم بكتابة الكود الاتي به بفرض ان اسم الجدول order_in
begin
select max(nvl(inv_no,0)+1) into :order_in.inv_no from order_in;
end;
وهذا ابسط انواع الاضافة حاول التجربة وانا تحت امرك

تم تعديل بواسطة girl_oracle

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.