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

مساعدة في تكوين Constraints

Featured Replies

بتاريخ:

اخواني فالله

لو عندي جدول invoice_h
عبارة عن
invoice_seq

وجدول تاني invoice_d
عبارة عن
invoice_seq
item_seq
qty

وجدول ثالت invoice_s
عبارة عن
invoice_seq
item_seq
serial_no

ازاي تكون database constraints
اقصد primary key,foreign key

شكرا

بتاريخ:

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


ALTER TABLE INVOICE_D[/left]



ADD CONSTRAINT INV_D_FK FOREIGN KEY (INVOICE_SEQ) REFERENCES INVOICE_H(INVOICE_SEQ);


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

شكرا لسرعة الاستجابة

بالنسبة للرد الاول
بالنسبة للعلاقة بين الجداول

invoice_h
الرئيسي وهو راس الفاتورة
invoice_d
الdetails
invoice_s
sub details
بالنسبة للرد التاني اخي هل يمكن ايضا عمل relation مع الجدولين الاخرين

يعني انا عاوز امنع حد يضيف في invoice_s
سيريال لصنف مش موجود في invoice_d

من خلال ردك انا الحين منعت حد يضيف صنف في invoice_d
مالوش رقم فاتورة في invoice_h
انا عاوز حكاية السريال كمان ممكن تكون والا ماينفعش
شكرا

بتاريخ:

السلام عليكم
رح تكون كالتالي:


Alter Table Invoice_D Add 
 Foreign Key (Invoice_Seq) 
References Invoice_H (Invoice_Seq));


Alter Table Invoice_S Add 
 Foreign Key (Invoice_Seq, Item_Seq) 
References Invoice_D (Invoice_Seq, Item_Seq));



بالتوفيق.

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

اخي الكريم شكرا لسرعة الرد
طبعا بالنسبة للكود الاول مفيش مشكله بين invoce_h and invoice_d
اما الكود التاني
عملت كده وما اشتغلش
وكان الخطأ
ORA-02270: no matching unique or primary key for this column-list

طبعا انا باعتقد ان الforeign key
لا يمكن عمله لجدول الا اذا كان الجدول ده فيه primary key

السبب اخي ان انا بالفاتورة ممكن اكتب الصنف مرتين
يعني رقم الصنف مش مشكلة انه يكون متكرر في نفس الحركة
ساعات بيكون مثلا عرض
اشتري صنف وخد التاني FREE

وهنا بيكون من الصعب اني احقق الاسكربت اللي حضرتك كتبته

ارجو ان تكون مشكلتي واضحة
شكرا

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

بتاريخ:

السلام عليكم
كلامك صحيح لذلك بامكان اضافة عمود جديد بإسم Serial_No ويكون من ضمن Primary Key وبامكانك اضافة الكود التالي على ترجر Pre-Insert:


Begin
 Select Nvl(Max(Serial_No),0) + 1
   Into :Blk_1.Serial_No
   From Your_Table;
 Exception When No_Data_Found Then
:Blk_1.Serial_No := 0;
 End;

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

سلام عليكم

مشكور اخي الكريم على الرد والمتابعة
جعله الله في ميزان حسناتك
الفكرة كويسة لسه ما نفذتهاش بس ممتازة

شكرا جزيلا

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

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

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

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

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

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.