اذهب إلى المحتوى
eiadali

ايقاف قيد primary key

Recommended Posts

eiadali

لدينا جدول فرضا جدول العملاء ويوجد فيه بيانات وتم ايقاف قيد primary key وتكررت بيانات العملاء واكيد انه لن استطيع تفعيل primary key مرة اخرى بعد ما تكررت البيانات  اريد حل او امر في sql  تحذف التكرار بحيث اذا تم تفعيل primary key مرة اخرى لا يطلع لي اي مشكلة

تم تعديل بواسطة eiadali

شارك هذه المشاركة


رابط المشاركة
شارك
mohamed.ramadan

يمكنك عمل اى من الاختيارين:

الاول:

هو انك تعيد ترتيب السيريال من البداية, اذا كان هذا الامر مناسب ولا يتسبب فى اختلاف فى عملية الربط بين هذا الجدول مع باقى الجداول

declare
	cursor v is select rowid,PK_column from your_table;
	pk_val number; --check if your pk is number;
	pk_row varchar2(60);
	new_rec number:=1; --or you can create sequence and put next_val into new_rec;
begin
	open v;
	loop
		fetch v into pk_row,pk_val;
		exit when v%notfound;
		update your_table
		set PK_column=new_rec
		where rowid=pk_row;
		new_rec:=new_rec+1;
	end loop;
	close v;
	commit;
end;

 

الثانى:

هو حذف المتكرر فقط مع استبدالة برقم جديد, وهذا لعمل استعلام عن الاكواد المكررة

SELECT PK_column, COUNT(*) AS dupes 
FROM Your_table
GROUP BY PK_column
HAVING COUNT(*) > 1;

 

شارك هذه المشاركة


رابط المشاركة
شارك

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من إضافة تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

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

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل؟ سجل دخولك من هنا.

سجل دخولك الان

×
×
  • أضف...

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

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