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

ترقيم تسلسلي لحقل Primry Key ؟

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته ..

كيفكم اخواني ..

لدي مشكله صغيره في برنامج انتهيت منه تقريبا .. لكن باقي عليه بعض التحسينات ..

أنا عندي modulel في فورم وفيه 3 بلووكات ..

كل بلوك يمثل جدول موجود لدي في قاعده البيانات ..

طبعا كل جدول فيه primary key .. وهذي هي صوره العلاقه بينهما .

1184843458982.jpg

اريد ان اضع الحقل farmer_no في جدول farmer ترقيم تسلسلي وايضا الحقل farm_no في جدول farm بحيث عند الاضافه يكون هناك ترقيم تسلسلي من دون تدخل المستخدم ..

وايضا عند الحذف يكون التسلسل لم يتأثر ..

ساعدوني بارك الله فيكم ..

:rolleyes:

علما بأني جربت طريقة اخوي احمد درويش لكنها لم تنجح معي لا ادري ما السبب .. ؟ هل لان الحقل مفتاح رئيسي ام لا ؟


شكرا لكم ..

ملاحظه اعمل على اصدار oracle 8i و dev 6

بتاريخ:

انا عندى فكره فى موضوعك وهو انك تعمل function تقوم بإعادة أكبر قيمه للـ primary key إلى انت مستخدمه وتستخدمه هذه function كا قيمه للprimary key أثناء إضافة سجل جديد بعد إضافة واحد كالاتى
function get_farm_no return number is
farmid number
begin
select max(farm_no) +1 into farmid
from farm
return farm
end
وإستدعاء هذه الداله عند إضافة جديد
أما بالنسبه للحذف فيمكنك الإحتفاظ بقيم farm_no للسجل المحذوف قبل حذفه وعمل update للجدول farm كالأتى
update farm set farm_no=farm_no-1
where farm_no>farm_id
بحيث أن farm_id هو قيمة التfarm_no للجل المحذوف
ياريت تجرب الطريقة دية وتعرفنى إذا كانت نفعت ولا لأ

بتاريخ:

الاخ الكريم
يمكن عمل علي كل بلوك في pre-insert

trigger

select max(nvl(primar_key,0)+1
into your_field_name
from ur_table


وان شاء الله هتلاقي الموضوع سهل
سلام

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

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

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

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

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

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.