AL BASSAM بتاريخ: 14 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2008 السلام عليكميا اخوة في عندي مشكلة وهي اضافة مفتاح اساسي او با الاحرى تعديل حيث انه يوجد عندي جدول فيه اربعة حقول والان المفاتح الاساسي مكون من حقلين والان اريد ان يكون المفتاح الاساسي مكون من 3 حقول فكيف يمكني ان اقوم بهذا التعديل والجدول الذي تم تكوينه هو create table country( Cod_Country varchar2(6), Name_Country varchar2(20), Cod_City varchar2(4), Name_City varchar2(20), constraint country_pk primary key (Cod_Country,Cod_City) ); والان اريد ان اضيف الى المفتاح الاساسي اسم المدينة بحيث يكون المفتاح الاساسي مكون من 3 حقول با الشكل التالي primary key (Cod_Country,Cod_City,Name_City) علما بان الجدول الان فية بيانات ولا اريد حذفهاارجو ان اكون وضحت المشكلة وجزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmed Farghaly بتاريخ: 14 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 14 فبراير 2008 بسم الله الرحمن الرحيمأخى الكريم فى هذه الحاله يمكن عمل drop للconstraints ثم إضافتها من جديد . alter table country drop constraints country_pk ثم:- alter table country add constraints country_pk primary key(code_country,code_city,name_city) ولكن يوجد ملحوظه مهمه فى هذا الموضوع وهى إنك بتقول إن فى data بالفعل فى الجدول .مش هيبقى فى مشكله لو البيانات اللى فى الجدول مؤهله إنها تكون compound primary key فى هذه الحاله هيعمل validate ومفيش مشكله .أما إذا كانت البيانات الموجوده فى الجدول غير مهيئه إنها تكون compound primary key .إذاً يوجد هنا حلان :-الأول : إما تعمل delete لهذه الأعمده وتعيد كتابة البيانات مره ثانيه بعد تعديل الconstraints وهذا فى حالة إن البيانات كميه صغيره .الثانى : لو كانت البيانات كميه كبيره إذاً ممكن عند إضافه الconstraints تخليها novalidate alter table country add constraints country_pk primary key(code_country,code_city,name_city) novalidate وهنا هيتجاهل البيانات القديمه وهيعمل enable للبيانات اللى هتدخل بعد كده بس طبعا دى فيها مشكله بالنسبه لعمليات الquery وغير ذلك. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AL BASSAM بتاريخ: 15 فبراير 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 15 فبراير 2008 شكرا اخي احمد.. ولكن واجهتني مشكلة وهي ان هذا الجدول الذي اريد التعديل علية مرتبط بجدول ااخر ولم اسطيع حذف ال constraints اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmed Farghaly بتاريخ: 15 فبراير 2008 تقديم بلاغ مشاركة بتاريخ: 15 فبراير 2008 ممكن تعمل drop للconstraints بتاعة الforeign key أولاً ثم الconstraints بتاعة الprimary key وبعد كده تعيد تخليق الconstraints بتاعة الprimary key ثم الforeign key اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.