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

بتاريخ:

السلام عليكم
يا اخوة في عندي مشكلة وهي اضافة مفتاح اساسي او با الاحرى تعديل حيث انه يوجد عندي جدول فيه اربعة حقول والان المفاتح الاساسي مكون من حقلين والان اريد ان يكون المفتاح الاساسي مكون من 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)

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

بتاريخ:

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

أخى الكريم فى هذه الحاله يمكن عمل 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 وغير ذلك.

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

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

بتاريخ:

ممكن تعمل drop للconstraints بتاعة الforeign key أولاً ثم الconstraints بتاعة الprimary key
وبعد كده تعيد تخليق الconstraints بتاعة الprimary key ثم الforeign key

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

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

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

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

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

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.