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

بتاريخ:

بسم الله الرحمن الرحيم

الرجاء إخوتي مساعدتي في مثال لكيفية عمل الترقيم التلقائي بدون استخدام

sequence لأن الكثير لم ينصحوني ب sequence بسبب مشاكله

أرجو أن تكون الفكرة واضحة وأرجو مثال ولو بسيط عن طريق الفورم

ولكم جزيل الشكر

أخوكم / لؤي (أبو العبد)

بتاريخ:

اخى loayy
من الممكن عمل ترقيم تلقائى بدلا من استخدام الsequence
عن طريق استدعاء اخر رقم والزياده عليه بواحد
مثلا عاوز اعمل insert ومش عاوز استعمل ال sequence
يبقى ممكن اعمل الاتى
declare
v_no number(10);
begin
select nvl(max(id,0)+1 into v_no from emp;
insert into emp values(v_no,.................
end;

وهكذا
واستخدام ال nvl
علشان لو وجد القيمه null

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

بسم الله الرحمن الرحيم

جزاك الله خيرا أخي الكريم sameh_oracle وبارك الله فيك على هذا الرد الرائع

أخوك / لؤي (أبو العبد)

بتاريخ:

المشكله اخي الكريم انه يمكن ان يصادف ان الرقم الجديد موجود من قبل مثلا اذا لغيت رقم او اكثر من هذا الحقل فان العدد سيتغير وبالتالي سوف يكون هناك تكرار
فما الحل لو كان هذا الحقل مفتاح اولي

بتاريخ:



السلام عليكم
اجابة الاخ sameh_oracle
سليمه جدا
واذا كنت تريد ان تظهر الاضافه في زر تلقائيا
ضعها في ترايجر زر الاضافه مثلا(طالب او عميل) على حسب برنامجك

وشكرا

  • بعد 2 أسابيع...
بتاريخ:
  • كاتب الموضوع

بسم الله الرحمن الرحيم

جزاك الله خيرا أخي الكريم / دي بي ايه وأخي OracleA وأخي sameh_oracle

لكن السؤال هو في أي trigger أضع هذا الأمر

ويا ريت يا إخوان لو فيه مثال عملي ولو صغير عبارة عن نموذج يحتوي على حقلين مثلا رقم الموظف وأسم الموظف بحيث يكون يحتوي على خاصية الترقيم التلقائي ولكن بدون استخدام sequence

ولا تؤاخذوني على كثرة طلباتي ولكن لأني بحاجة شديدة لهذه الخاصية

أخوكم / لؤي (أبو العبد)

بتاريخ:

ولكني ارى من الافضل ان تعمل secuence

بتاريخ:

السلام عليكم ورحمة الله ،،

مرفق form باستخدام مفتاح اضافة سجل جديد لعمل الmax

max.fmb

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

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

بسم الله الرحمن الرحيم

جزاك الله كل خير أخي الكريم وبارك الله فيك

جاري التحميل وإن شاء الله أي سؤال لن أتردد في سؤالك

جعل الله ما قدمته لي وما تقدمه في ميزان حسناتك وبارك الله فيك ولا حرمنا الله منك ومن أمثالك

أخوك /ِ لؤي (أبو العبد)

  • بعد 2 أسابيع...
بتاريخ:

اخى لؤى
انسب trigger لاستخدام قيم الـ Sequence هو Pre-insert trigger

بتاريخ:

الشرح بالتفصيل

Assigning Sequence Numbers to Records:
You will recall that you can assign default values for items from an Oracle sequence, to automatically provide unique keys for records on their creation. However, if the user does not complete a record, the assigned sequence number is “wasted.”
An alternative method is to assign unique keys to records from a Pre-Insert trigger, just before their insertion in the base table, by which time the user has completed the record and issued the Save.
Assigning unique keys in the posting phase can:
 Reduce gaps in the assigned numbers
 Reduce data traffic on record creation, especially if records are discarded before saving
Example:
This Pre-Insert trigger on the S_ORD block assigns an Order ID from the sequence S_ORD_ID, which will be written to the ID column when the row is subsequently inserted.
SELECT S_ORD_ID.nextval
INTO :S_ORD.id
FROM SYS.dual;
Note: The Insert Allowed and Keyboard Navigable properties on :S_ORD.id should be No, so that the user does not enter an ID manually.

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

بسم الله الرحمن الرحيم

جزاك الله كل خير أخي الكريم Osama Soliman وبارك الله فيك على هذا التجاوب الجميل والشرح الرائع

لي سؤال أخي الكريم وأرجو أن تتحملني لأنني مبتدئ في الأوراكل

سؤالي هو لماذا نضعه في trigger ال Pre-insert trigger وما هو الفرق بينه وبين trigger ال when button pressed

أخوك / لؤي (أبو العبد)

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

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

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

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

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

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.