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

كيفية عمل primary key لجدول موجود و به داتا


هانى سند

Recommended Posts

السلام عليكم


هذه هي طريقة عمل برايمري كي لجدول موجود بالفعل و به بيانات
حيث ان اضافة عمود اخر كمفتاح اساسي
لابد ان يكون الجدول خالي
و هذه كيفية عمل عمود اخر كمفتاح اساسي لجدول به بيانات
اولا انشاء عمود من نوع نمبر مثلا
ثانيا عمل جملة ابديت لهذا العمود كالتالي
update %tablename %
set %pk_col%rownuml;
or

update %tablename %
set %pk_col%=%sequence_name%.nextval;
ثالثا عمل check constraint as not null and unique constraint
رابعا عمل unique index للعمود
بالتوفيق

تم تعديل بواسطة hanon_OCP
رابط هذا التعليق
شارك

  • بعد 3 أسابيع...
  • بعد 1 سنة...

السلام عليكم
صحيح ان اضافة عمود كمفتاح اساسي لجدول فيه بيانات غير ممكن مباشرة
ولكن يمكن اضافة عمود للجدول وملؤه ببيانات فريدة ثم تعديله ليصبح مفتاح أساسي -وذلك ممكن عن طريق بروسيجر-
أما العمود الذي أريد تحويله لمفتاح أساسي فيجب أن لايحوي على بيانات فارغة وكذلك بيانات متشابهة وبعد التأكد من الشرطين السابقين بعبارة بحث بسيطة نقوم باعطاء الأمر التالي:

ALTER TABLE table_name
ADD [CONSTAINT] constraint_name constraint_type (column_name);

وتوضع عبارةPRIMARY KEY مكان نوع القيد هذا بالنسبة لل 9i ومابعده أما السابق فلاأعلم
ملاحظة: يمكن حذف أوتعطيل أواضافة قيد ولكن لايمكن تعديله
القيدNOT NULL يستخدم لاضافته MODIFY وليس ADD
كما أن قيد المفتاح الأساسي وقيد القيم الفريدة ينشئ لها فهرس بشكل ضمني فور التصريح
عنها أو عن عملها بعد تعطيله-حيث يحذف ضمنيا أيضا عند التعطيل-
أرجوا لكم الفائدة والمغفرة من الله
ولي المغفرة والرحمة

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

  • بعد 2 شهور...

السلام عليكم
هذا الموضوع هام بالنسبة لى فهل من الممكن التوضيح بمثال عملى ؟
رجاء الاهتمام بمطلبي للضرورة
وشكرا
ميجا

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

salam brothers
i was looking out on this page i saw my brother mega's request so i loved to give a simple example
first step you have table name such as emp(employee table )
allready data availble there so u want to add constraint such primary key
follow this step
this is formala
ALTER TABLE table_name
ADD [CONSTAINT] constraint_name constraint_type (column_name);
this example

alter table emp add(constraint emp_pk primary key
(empno);

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

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

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

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

×   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.

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

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

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