الانتقال إلى المحتوى

مشكلة Ora-02291


NoorAdiga

Recommended Posts

الســــلام عليكم
اريد ادخال ريكورد على جدول اسمه (Reservation_and_diagnosis) وهو مرتبط بالجداول كما في الصورة الملحقة
المشكلة هي انه عند عملية ادخال البيانات ... احصل على الerror
ORA-02291: integrity constraint (CLINIC.SYS_C005543) violated - parent
ولكن اذا غيرت اسم STUDENT_ID الى 0046364 يتم الادخال على الجدول بشكل سليم .. فقط لهذا المستخدم(الطالب)

عند تنفيذ الامر select Reservation_date,Student_id from Reservation_and_diagnosis ; لعرض المتوفر داخل جدول الحجوزات ... احصل على هذه النتائج
RESERVATI STUDENT_ID
--------- ----------
02-APR-06 46364
09-NOV-07 46364
09-MAR-08 46364
04-NOV-07 46364
09-AUG-08 46364
19-AUG-08 46364
11-NOV-08 46364
25-NOV-08 46364
25-NOV-08 46364
25-NOV-08 46364
15-MAR-08 46364

RESERVATI STUDENT_ID
--------- ----------
15-JUL-05 46364
10-AUG-05 46364
03-AUG-05 46364
09-NOV-07 46364
23-MAY-05 46364

16 rows selected.

وعند عرض الداتا الموجودة في جدول اسماء الطلاب ... احصل على التالي
select * from student_users;

STUDENT_ID STUDENT_
---------- --------
123456 000000
46364 nnnnnnnn
49090 99999999
22020 22222222


اما المشكلة بالتفصيل ... هي كالتالي
الخطوة الاولى:
desc Reservation_and_diagnosis;
احصل على
Name Null? Type
----------------------------------------- -------- -------------------
EMPLOYEE_ID NOT NULL NUMBER(3)
RESERVATION_DATE NOT NULL DATE
INTERVAL_SEQUENCE NOT NULL NUMBER(3)
STUDENT_ID NUMBER(7)
STUDENT_PRESENT NOT NULL VARCHAR2(1)
DIAGNOSIS VARCHAR2(500)

الخطوة الثانية ... ادخل صف للطالب 0046364
insert into Reservation_and_diagnosis values (3,to_date('12-12-2007','dd-mm-yyyy'),3,0046364,'Y','tooth pain');
والناتج ...
1 row created.

الخطوة الثالثة : احفظ الصف
commit;
والناتج
Commit complete.

الخطوة الرابعة ... ادخل صف ثاني لكن باستعمال رقم مختلف للطالب كالامر التالي
insert into Reservation_and_diagnosis values (3,to_date('12-11-2007','dd-mm-yyyy'),3,0022020,'Y','General check');

والناتج:
insert into Reservation_and_diagnosis values (3,to_date('12-11-2007','dd-mm-yyyy'),3,0022020,'Y','G
*
ERROR at line 1:
ORA-02291: integrity constraint (CLINIC.SYS_C005543) violated - parent key not
found



كل الاوامر والنتائج نسخ\لصق من SQL

كيف احل هذه المشكلة وادخل ريكورد لطلاب اخرين ... فجدول الحجوزات لا يحتوي الا على حجوزات للطالب 0046364 ... ؟!؟!
:blink:

post-67597-1226133918_thumb.jpg

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

ما حد رد على سؤالي
:(

انا لقيت حل مؤقت للمشكلة ... هو ما بحل المشكلة كحل جذري .. انما بخليني اقدر ادخل ريكورد لطلاب تانيين بالجدول
انا لاحظت انو الجدول اللي فيه primary key مركب من مجموعة forign keys
هو سبب المشكلة .... لانها تكررت معي بجدول تاني غير جدول الحجوازات

الحل المؤقت كالتالي :
احذف ال constraint وخلي الجدول بدون Forign key
وانا بحالتي عملت drop
وبنيت الجدول مرة تانية بدون اي forign key
اما بالنسبة لاني اتاكد من البيانات انها صح ... هالعملية عم بعملها على الlevel
اللي فوق الdatabase
وبحالتي انا على موقع ال PHP
بتاكد من البيانات ... وبدخلها على الجدول ... بدون مساعدة الفورين كي !


نـــــــــــــــــــــــور

رابط هذا التعليق
شارك

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

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

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

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

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

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