Sql Server Ce 3.5 检查约束

Posted

技术标签:

【中文标题】Sql Server Ce 3.5 检查约束【英文标题】:Sql Server Ce 3.5 Check Constraints 【发布时间】:2009-04-06 15:15:23 【问题描述】:

Sql Server ce 是否支持检查约束? 我想做类似的事情 "ALTER TABLE WITH NOCHECK ADD CONSTRAINT id_range_check CHECK (BETWEEN and )

这会在“WITH”上报错

【问题讨论】:

【参考方案1】:

SQL Server Compact 不支持 CHECK 约束 http://technet.microsoft.com/en-us/library/ms174123(v=sql.110).aspx

【讨论】:

【参考方案2】:

我的经验是 SQL CE 3.5 不支持 CHECK CONSTAINT。以下代码有效(我最初使用 WITH CHECK 但失败了):

ALTER TABLE [SiteUser] ADD  CONSTRAINT [FK_SiteUser_Site] FOREIGN KEY([SiteId])
REFERENCES [Site] ([SiteId])

以下执行也失败了..所以现在看来​​我可以创建外键但无法强制执行..那有什么意义!?

ALTER TABLE [SiteUser] CHECK CONSTRAINT [FK_SiteUser_Site]

【讨论】:

【参考方案3】:

“alter table [table_name] check constraint [constraint_name]”是一个约束验证语句,不是一个检查约束。

【讨论】:

【参考方案4】:

支持检查约束,但不支持“WITH NOCHECK”选项。尝试删除它。

【讨论】:

【参考方案5】:

我相信只支持简单的约束,您上面的示例包括不支持的 BETWEEN。

【讨论】:

以上是关于Sql Server Ce 3.5 检查约束的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 SQL Server CE 3.5 中是不是存在表

SQL Server:检查约束

如何检查Sql server中是不是存在约束?

SQL Server:如何让服务器检查其所有检查约束?

SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束

SQL Server 2008检查约束不起作用