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

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


محمد سعيد

Recommended Posts

اخوانى الكرام الموضوع باختصار هو ان فى جدول فيه بيانات معجونه ومفيش فيه مفتاح اساسى المطلوب
اريد اضافة عمود لجدول به داتا بحيث يكون هذا العمود مفتاح اساسى بحيث يبدأ بالرقم 1 وهكذا يعنى مسلسل

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

في قدامك أكثر من حل
أحدهما انك تضيف عمود عادي أولا الى الجدول ومن ثم تدخل فيه البيانات وأخيرا تجعله مفتاح رئيسي كالآتي :
1 اضافة عمود جديد الى الجدول:

alter table table_name add(col_name number)



2 اضافة البيانات وهي كما أفهم أنها متسلسلة كعداد يعني

update table_name 
   set col_name = rownum



3 اعلان هذا العمود كمفتاح أساسي للجدول

alter table table_name add constraint col_pk primary key(col_name )



بعد ذلك سبكون لهذا الجدول مفتاح أساسي.

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

ضيف الحقل الذي تريد وضعه مفتاح أساسي

[b]ALTER TABLE[/b] TABLE_NAME [b]ADD[/b] COLUMN_NAME DATA TYPE


وقم بتعريف PRIMARY KEY CONSTRAINT

[b]ALTER TABLE[/b] TABLE_NAME [b]ADD CONSTRAINT[/b] PK_NAME [b]PRIMARY KEY[/b] (COLUMN NAME)


ثانيا: قم ببناء SEQUENCE

CREATE SEQUENCE seqname [ INCREMENT BY increment ]
        [ MINVALUE minvalue ] [ MAXVALUE maxvalue ]
        [ START WITH start ] [ CACHE cache ] [ CYCLE ]




قم بعمل PROCEDURE يقوم باضافة قيم ال SEQUENCE على الحق الموجود بالجدول
مثلا: لنفترض انك قمت بتعريف الحق SERIAL على جدول EMP
وال SEQUENCE اسمه SERIAL_SEQ
يكون الPROCEDURE كالتالي:

CREATE OR REPLACE PROCEDURE ADD_SERIAL_TO_EMP AS V_SERIAL NUMBER;
CURSOR C1 IS SELECT * FROM EMP; BEGIN FOR I IN C1 LOOP
SELECT SERIAL_SEQ.NEXTVAL INTO V_SERIAL FROM DUAL;
UPDATE EMP
SET SERIAL = V_SERIAL 
WHERE EMPNAME = I.EMPNAME
(بالنسبة لجملة WHERE) ضع جميع الحقول واربطهم بالCURSOR
END LOOP;
END;


ان شاء الله تكون استفدت

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

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

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

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

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

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

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

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