2010-08-28 39 views
0

喜誰能電話我如何檢查一個主鍵是否存在於一個表,並添加主鍵如果不是exixts在SQL Server精簡(。自衛隊)..如何檢查和改變限制

我「M用這個,

IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'PRIMARY KEY') 
    BEGIN 
     alter table [tablename] add constraint [name] PRIMARY KEY (columnname) 
    END 

當我的SQL Server Compact我得到這個錯誤執行這個..

主要錯誤0x80040E14,次要錯誤25501

IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE ='PRIMARY KEY')BEGIN alter table [tablename] add constraint [name] PRIMARY KEY(columnname)END 解析查詢時發生錯誤。 [令牌行號= 1,令牌行偏移= 1,令牌錯誤= IF]

謝謝你..

+0

看來SSCE不支持IF。 – 2010-08-28 09:28:04

+0

好的,我該如何檢查任何幫助? – Leema 2010-08-28 10:21:17

回答

0
IF NOT EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'PRIMARY KEY') AND type in (N'U')) 
    BEGIN 
     alter table [tablename] add constraint [PRIMARY KEY] PRIMARY KEY CLUSTERED (columnname) 
    END 

請使用上面的查詢,讓我知道,如果它的工作原理。謝謝。