【问题标题】:how to check and alter constraints如何检查和更改约束
【发布时间】:2011-04-05 03:11:42
【问题描述】:

您好,谁能告诉我如何检查表中是否存在主键,如果在 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]

谢谢你..

【问题讨论】:

  • 看来SSCE不支持IF。
  • 好的,那我该如何查看帮助??

标签: sql constraints key alter compact-database


【解决方案1】:
 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

请使用上面的查询,让我知道它是否有效。谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 2011-07-01
    • 1970-01-01
    • 2020-09-20
    • 2011-01-28
    • 2010-11-13
    相关资源
    最近更新 更多