محمد سعيد بتاريخ: 17 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 17 يناير 2010 اخوانى الكرام الموضوع باختصار هو ان فى جدول فيه بيانات معجونه ومفيش فيه مفتاح اساسى المطلوباريد اضافة عمود لجدول به داتا بحيث يكون هذا العمود مفتاح اساسى بحيث يبدأ بالرقم 1 وهكذا يعنى مسلسل اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
tanbet بتاريخ: 17 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 17 يناير 2010 في قدامك أكثر من حلأحدهما انك تضيف عمود عادي أولا الى الجدول ومن ثم تدخل فيه البيانات وأخيرا تجعله مفتاح رئيسي كالآتي :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 ) بعد ذلك سبكون لهذا الجدول مفتاح أساسي. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mk3bmw بتاريخ: 17 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 17 يناير 2010 ضيف الحقل الذي تريد وضعه مفتاح أساسي [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; ان شاء الله تكون استفدت اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.