回答
否SQL Server 2008不支持此语法。
不,您会使用CHECK constraint或TRIGGER来代替,具体取决于复杂程度。
- CHECK约束:在行级别只
- TRIGGER:跨行或使用其他表
但这里的问题是'CREATE ASSERTION'处于模式级别,SQL Server在该级别没有任何东西。触发器是程序化的,不能与SQL-92基于集合的范例相媲美。 – onedaywhen 2010-11-09 08:20:13
@onedaywhen:它取决于OP真正想要达到的目标,不是吗?通过CHECK或TRIGGER可以解决CREATE ASSERTION的问题。问题不是“不”,但我们如何帮助OP。除非你在这里取得聪明的分数。 – gbn 2010-11-09 17:57:13
“CREATE ASSERTION可能过量,可通过CHECK或TRIGGER解决。” - 你能发表一个关于这个断言的证据吗(我仔细选择了我的话)? – onedaywhen 2010-11-10 09:54:21
的SQL Server 2008不支持CREATE ASSERTION
。
实际上,目前没有SQL产品正确支持CREATE ASSERTION
。 Sybase SQL Anywhere支持它,但据报道存在问题,允许有时会违反约束条件。 Rdb确实支持它,当它被DEC照顾时(谁显然在SQL标准的早期有影响力,可能是为什么CREATE ASSERTION
是首先在标准中的原因),但该产品没有更多。
STOP PRESS:according to their documentation,HyperSQL(HSQLDB)支持断言(尽管我还在想他们为什么不在their list of features上大喊)。
我认为hsql文档有缺陷。我只是尝试了标准的SQL语法(由Mimer在线验证),并且hsql给了我:意外的标记:声明中的ASSERTION [CREATE ASSERTION] - 这是Fedora,HSQL数据库引擎v。1.8.1,SqlTool v。333。 (SqlFile处理器诉354) – pestophagous 2013-02-22 05:12:39
@queque:耻辱:( – onedaywhen 2013-02-22 08:56:46
- 1. 是否IBM WebSphere支持SQL Server 2008的
- 2. log4net AdoNetAppender是否支持sql server 2008?
- 3. 支持SQL Server 2005和2008
- 4. Windows Server 2008是否支持MSDE?
- 5. Windows Server 2008是否支持.net 1.1
- 6. SQLMetal是否支持SQL-Server 2008数据类型?
- 7. SQL Server 2005是否支持datetime2
- 8. SQL Server是否支持分片?
- 9. FluentNHibernate是否支持SQL Server Compact Edition 4.0?
- 10. SQL Server是否支持散列索引?
- 11. “SQL Server Compact 2008”包括空间支持
- 12. Visual Studio 2005不支持Sql Server 2008
- 13. SQL Server 2008不支持汇总
- 14. CASE WHEN语法SQL Server 2008
- 15. JRuby是否支持{thing:“hello”}语法?
- 16. EntityDataSource是否支持“it.Property.Property”语法?
- 17. 此版本的SQL Server不支持“CREATE CREDENTIAL” - Azure SQL数据库
- 18. 什么是MySQL不支持的SQL Server查询语法?
- 19. Howto create ac#assembly to load into sql server 2008
- 20. omnicppcomplete是否支持typedef语法
- 21. Windows Server 2008上是否支持WSE asmx Web服务?
- 22. SQL Server多语言数据支持
- 23. SSRS 2008是否支持SQL查询中的XML数据类型?
- 24. 微软是否会在Visual Studio 2010中使用LINQ来支持SQL Server 2008?
- 25. SQL Server 2008 R2 Express是否支持报告服务中的共享数据源?
- 26. SQL Server 2008企业版试用版是否支持群集和审计?
- 27. JET和SQL Server是否支持分层行集?
- 28. mysqli是否支持ms sql?
- 29. ORMLITE是否支持SQL EXISTS?
- 30. Azure SQL是否支持Kerberos?
-1事实上正确但没有帮助:有替代方案可以实现相同的结果。 – gbn 2010-11-09 06:04:08
@gbn:实际上,您的选择不会达到相同的结果。此外,OP指定他们只是想要一个直接的答案。 – onedaywhen 2010-11-09 08:15:38