السلام عليكم
...
- كيف يمكن اضافة و إلغاء المفتاح الاساسي برمجيا..؟
لو تريد حذف ال 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
اقتباسALTER TABLE yourTableDROP 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.
اقتباس'id' is not a constraint
انت استخدمت id كاسم لل constraint
اظن id اسم حقل ال pk و ليس اسم ال constraint نفسه
ALTER TABLE yourTable DROP COLUMN yourColumn
لو مرتبط بجداول اخري ممكن تحذف العلاقات في حالة انها سببت مشكلة
السلام عليكم
...
اخوي
AhmedElbaz
يمكن بالكود السابق حذف اي عمود ما عدا عمود المفتاح الاساسي إلا اذا تم الغاء المفتاح الاساسي فهل نجد عندك هذا الكود
من المفترض انك تحذف ال 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
وهنالك سؤال في نفس الموضوع ..؟؟
- اذا اردت إضافة عمود جديد على أن يكون :
1- مفتاح أساسي.
2- من النوع (int) وتمكين خاصية (Is dentity) وتبدأ بـ (1)
وبالتوفيق
ALTER TABLE myTable ADD ID INT IDENTITY CONSTRAINT pk_myTable PRIMARY KEY
اقتباسبارك الله فيك أخوي على الكود .... بس خاصية (Is dentity) غير ممكنة هنا
هنا فين؟!
اقتباسALTER TABLE myTableADD
ID INT IDENTITY
CONSTRAINT pk_myTable PRIMARY KEY
مشكور أخوي ..كنت قد راجعت الكود واشتغل معاي
...
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…