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

ازاي ازاي اخلي حقل الpk يزود الارقام لوحده في الفورمه

Featured Replies

بتاريخ:

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

بتاريخ:

دور فى خصائص الحقل على خاصيه initial value
وحط فيه الجمله دى :sequence.customers_seq.nextval
طبعا ده customers_seq اسم السيكونس الى هتولد الارقام

بتاريخ:

انتا عامل الفورمة تابيلر ولا عاملها فورم ؟

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

هي من النوع FORM
طيب هو فيه اختلاف لو كانت TABULAR ممكن حضرتك تقولي الطريقتين.

بتاريخ:

يستحسن ان تضع الجملة التى تستخدم فيها ال sequence
على pre-insert trigger حتى لا تحدث فجوات فى حالة عدم حفظ البيانات

بتاريخ:

اجي العزيز
اعمل هذا الكود بعد عملية الحفظ و اول ما الفورم يفتح
select nvl(max(empno),0)+1into :emp_no from emp
حيث ان empno هو الحقل الذي في الجدول وتريد تعمل له زيادة
:emp_no هو الفيلد الذي يعرض فية الرقم بعد الزياد
[email protected]

بتاريخ:

اخي العزيز
للقيام بهذة العملية لو انت معندكش سيكونس فانت هتروح الاول علي خصائص الفيلد pk وعلي خاصية Required هتخليها ب no
بعد كدا في التريجر pre-insert trigger هتضع الكود التالي

SELECT NVL(MAX(fild_name_in_database),0)+1
INTO :field name in form
FROM table;

بتاريخ:

السلام عليكم ورحمته الله وبركاته
الحل زى مقال معتز السيد و الداهيه1 بس اكتب الامر ده فى TREGGER WHEN_NEW_FORM_INCTIANT

بتاريخ:

يا اخ احمد مينفعش يكتب الامر ده في WHEN_NEW_FORM_INCTIANT لانه بيحتاجة كل ما يدخل صف جديد المفروض بيكون علي مستوي البلوك في pri-inssert

بتاريخ:

عندك حق ياخ معتز

بتاريخ:

اخي العزيز ..... انت ممكن تستخدم when-new-block-instance

بتاخذ فيه القيمة من sequance وتسندها الى display item


او ممكن تستخدم pre-insert ايضا على مستوى البلوك

وتاخذ فيه القيمة التالية من sequance وتسندها مباشرة للعمود الموافق في data base block

select sequance_name.nextval from dual into item_name

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

وبالتوفيق ان شاء الله

بتاريخ:

السلام عليكم ورحمة الله وبركاته
الحل هو عمل سيكوينس على الداتا بيز وبعد كده تدخل القيمه الجديده فى حقل البريمر كى من خل التريجر ( PRI-INSERT ) وهذا هو المكان الوحيد لوضع الكود لأن التريجر ده بيرن مره واحده عند عمل أدخال لسجل جديد أما تريجر زى ( NEW BLOCK INSTANCE ) فده بيرن كل مره بتكون واقف على ( ITEM ) بره البلوك و بتحاول تقف على (ITEM) داخل البلوك

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

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

اولا انا بشكر كل الاعضاء المحترمين
ثانيا انا جربت كل القولتوه اولا عملت سكونس في الداتا بيز وبعد كده ندهته ك قيمه ابتدائيه initial value للحقل واشتغلت بس كانت بتسيب فجوات كل ماقفل الفورمه وافتحها تاني
:sequence .seq_name.nextval
ثانيا جربت اكتب في التريجر الاسمه pre_insert الموجود علي مستوي البلوك كود السلكت الموجود في مشاركه الاخ معتز والاخ الداهيه وغيرت قيمه الrequired مره وسبتها غثس مره بس للاسف مش شتغلت ز

ثالثا حاولت اكتب في pre_insert
:doo.id:=sequence.dd.nextval;
ولكن بيدي خطأ ياريت لو حد يقدر يكشف الخطأ او يجربها علي فورمه ويرفعها يبقي كتر خيره والكل يستفيد.

بتاريخ:

اخى الفاضل الفورمه موجد وشغاله ان شاء الله بس وانت بتجربها لازم تاخدب الك من كل الكونسترين الموجد على الجدول زاى اليونك وانا هنا مستخدم WHEN-VALIDATE-RECORD
بس لازم تاخد بالك ان الفايلد الى هطبق عليها الى هو فى الفورمه عندك EMPLOYEE_ID لازم تغير Required الى NO
عشان يشتغل
لو فى استفسار انا و المنتدى فى خدمتك
بالتوفيق

3.rar

بتاريخ:

كلام الأخ السيد معتز ,,,, صحيح و ذلك بالتجربة

و لست بحاجة إلى إنشاء sEQUENCE ,,,

,
,

هذه الطريقة فعالة 100%
.
.
تحيتي

بتاريخ:

أخي معاذ ,, طريقتك فعالة ,,,, ولكن بهذه الصيغة .

select sequance_name.nextval  into :item_name from dual;








هذا الترايقر ,,, غير فعال ,,, اذا كان يوجد هناك علاقة بين بلوكين ,,
لايقوم بتوليد رقم و لايتم عملية الأدخال

مثل الأقسام و الموظفين ,,, لا يعمل الترايقر على المفتاح الرئيسي لكل جدول
أنما يحدث خطا ,,


من لديه ,,, حل و أطريقة فعالة ,,, يذكرها

.,

ت
.
.

تحيتي

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

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

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

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

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

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

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.