الانتقال إلى المحتوى
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.

اذاي اخلي sequence مافيش فيه gabs

Featured Replies

بتاريخ:

اخوتي فالله
انا عاملة sequence
علي field
معين
ولكن لو لغيت رقم او حصل اي حاجة الsequence
بيتسحب منه بدون فايدة يعني لسه ما عملتش فاتورة
والرقم اصبح 200
اذاي اخليه 1 2 3 ...................
ومش عاوزة احصل علي max
في database
واضيف واحد
لان هنا الخطورة لو عندي اتنين بيشتغلو علي الفاتورة
وفتحو في نفس الوقت يحصل مشكلة
اما اعتقد الsequence
لو حتي فتحو في نفس الوقت كل واحد ياخد رقم
مش عارفة ده صح والا بس يا ريت الاقي للمشكلة دي حل
عاوزة امنع sequence burn
شكرا

بتاريخ:

هذه مشكلة ال sequence مجرد ال select منه فإنه يعدي رقم بغض النظر هذا الرقم استخدمته بالفعل أم لا
ورأيي لحل هذه المشكلة البعد عن استخدام ال sequence
واستخدام ال maximum value +1 من الجدول نفسه وهذا يضمن عدم التكرار
ولكن حتى لايحدث conflict بين شخصين يستخدموا نفس الجدول نعمل exclusive lock
الى أن نأخذ القيمة ثم نعمل commit حتى نفك ال lock ونترك الجدول للشخص الأخر ليأخذ الرقم التالي

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

شكرا اخي الكريم
بس والله ليا استفسار ماهو exclusive lock
انا فاهمة المعني بس ازاي اعمله
شكرا

بتاريخ:

LOCK TABLE table_namer IN EXCLUSIVE MODE;
select max(emp_no+1) into block1.field1)
commit;

ال commit مهم جدا لأنك لو أخرتيه شويه سوف لا يجعل أي شخص يتمكن من عمل أي تعديل في الجدول
والlock يعني قفل الجدول بحيث لا يعدل فيه أحد إلا أنا في هذه اللحظة ثم بعد الcommit; ينفك هذا القفل ويمكن لأي شخص أن يتعامل مع الجدول

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

شكرا اخي ابو عزت
كتر الله من امثالك فالمنتدي

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

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

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

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

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

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.