الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن اضافة واحدف المفتاح الاساسي من الجدول باستخدام Script

بدأه أحمد_ليبيا في 11 أغسطس 2008 · 14 رد · 1,449 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

...

- كيف يمكن اضافة و إلغاء المفتاح الاساسي برمجيا..؟

moslimbag8.gif

------

saaid.jpg

#2

لو تريد حذف ال column بالكامل

ALTER TABLE yourTable
DROP COLUMN yourColumn

لو تريد فقط حذف ال pk constraint الخاص بالجدول

ALTER TABLE yourTable
DROP CONSTRAINT yourConstraint

علي اساس انك عارف اسم ال pk constraint او الحصول عليه عن طريق الكود

و ممكن و انت بتنشأ الجدول تحدد اسم ال constraint

CREATE TABLE ConstraintTable
  (ID INT, ColSecond INT,
		CONSTRAINT Ct_ID PRIMARY KEY (ID))

Ct_ID اسم ال constraint

#3
اقتباس
ALTER TABLE yourTable

DROP CONSTRAINT yourConstraint

رسالة الخطأ

Msg 3728, Level 16, State 1, Procedure a, Line 9

'id' is not a constraint.

Msg 3727, Level 16, State 0, Procedure a, Line 9

Could not drop constraint. See previous errors.

moslimbag8.gif

------

saaid.jpg

#4
اقتباس
'id' is not a constraint

انت استخدمت id كاسم لل constraint

اظن id اسم حقل ال pk و ليس اسم ال constraint نفسه

#5

كيف يمكني حذف المفتاح الاساسي إذاً...؟

moslimbag8.gif

------

saaid.jpg

#6
ALTER TABLE yourTable
DROP COLUMN yourColumn

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

#7

السلام عليكم

...

اخوي

AhmedElbaz

يمكن بالكود السابق حذف اي عمود ما عدا عمود المفتاح الاساسي إلا اذا تم الغاء المفتاح الاساسي فهل نجد عندك هذا الكود

moslimbag8.gif

------

saaid.jpg

#8

up

moslimbag8.gif

------

saaid.jpg

#9

من المفترض انك تحذف ال pk constraint اولا و الكود موجود بالاعلي

لو انت قمت بتسمية ال constraint استخدم الاسم و لو انك تركته للشكل الافتراضي فيكون اسمه عبارة عن pk_tableName

بفرض ان اسم الجدول test و ال pk اسمه ID ممكن تستخدم الكود التالي

alter table test
drop pk_test

alter table test
drop column [ID]

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

-- get pk constraint name
DECLARE @pk sysname;
SELECT @pk = name FROM sysobjects WHERE parent_obj = object_id('test');
-- create remove command
DECLARE @sql nvarchar(100);
SELECT @sql = 'alter table test drop ' + @pk;
-- drop it (constraint)
EXECUTE sp_executesql @sql
-- you can delete column now
-- remove column

و لمعرفة اسم العمود لحذفه ايضا بعد حذف ال pk constraint راجع الرابط التالي

Find Primary Key or ID column of Table in SQL Server 2000/2005

#10

مشكور اخوي الان يمكنني إلغاء المفتاح الاساسي ومن ثم حذف هذا العمود.

moslimbag8.gif

------

saaid.jpg

#11

وهنالك سؤال في نفس الموضوع ..؟؟

- اذا اردت إضافة عمود جديد على أن يكون :

1- مفتاح أساسي.

2- من النوع (int) وتمكين خاصية (Is dentity) وتبدأ بـ (1)

وبالتوفيق

moslimbag8.gif

------

saaid.jpg

#13

بارك الله فيك أخوي على الكود ..

.. بس خاصية (Is dentity) غير ممكنة هنا

moslimbag8.gif

------

saaid.jpg

#14
اقتباس
بارك الله فيك أخوي على الكود ..

.. بس خاصية (Is dentity) غير ممكنة هنا

هنا فين؟!

#15
اقتباس
ALTER TABLE myTable

ADD

ID INT IDENTITY

CONSTRAINT pk_myTable PRIMARY KEY

مشكور أخوي ..كنت قد راجعت الكود واشتغل معاي

...

moslimbag8.gif

------

saaid.jpg

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…