如何检查和更改约束

时间:2010-08-28 07:52:03

标签: sql constraints key alter compact-database

嗨,任何人都可以告诉我如何检查表中是否存在主键,如果不是exql,则在sql server compact(.sdf)中添加主键。

我正在使用它,

  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]

谢谢..

1 个答案:

答案 0 :(得分: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

请使用上述查询,如果有效,请告诉我。感谢。