Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
SQL Server 2008 是否支持该CREATE ASSERTION语法?
CREATE ASSERTION
我一直无法找到一个直接的答案。
没有 SQL Server 2008 不支持这种语法。
不,您将使用CHECK 约束或TRIGGER代替,具体取决于复杂性。
SQL Server 2008 不支持CREATE ASSERTION.
事实上,目前没有任何 SQL 产品能够CREATE ASSERTION正确支持。Sybase SQL Anywhere 支持它,但据报道有时会出现违反约束的问题。Rdb在由 DEC(显然在 SQL 标准的早期具有影响力,这可能CREATE ASSERTION是最初在标准中的原因)照顾时确实支持它,但该产品已不复存在。
STOP PRESS:根据他们的文档,HyperSQL (HSQLDB) 支持断言(尽管我想知道他们为什么不在他们的功能列表中大喊大叫)。
我最近在寻找这个,发现http://hsqldb.org/doc/guide/databaseobjects-chapt.html#dbc_assertions说“一个断言是一个顶级模式对象。它由一个不能为假的(可能未知)。HyperSQL 尚不支持断言。”