5

SQL Server 2008 是否支持该CREATE ASSERTION语法?

我一直无法找到一个直接的答案。

4

4 回答 4

5

没有 SQL Server 2008 不支持这种语法。

于 2010-11-09T02:47:41.790 回答
4

不,您将使用CHECK 约束TRIGGER代替,具体取决于复杂性。

  • CHECK 约束:仅在行级别
  • TRIGGER:跨行或使用其他表
于 2010-11-09T06:01:52.900 回答
4

SQL Server 2008 不支持CREATE ASSERTION.

事实上,目前没有任何 SQL 产品能够CREATE ASSERTION正确支持。Sybase SQL Anywhere 支持它,但据报道有时会出现违反约束的问题。Rdb在由 DEC(显然在 SQL 标准的早期具有影响力,这可能CREATE ASSERTION是最初在标准中的原因)照顾时确实支持它,但该产品已不复存在。

STOP PRESS:根据他们的文档,HyperSQL (HSQLDB) 支持断言(尽管我想知道他们为什么不在他们的功能列表中大喊大叫)。

于 2010-11-09T08:24:34.443 回答
0

我最近在寻找这个,发现http://hsqldb.org/doc/guide/databaseobjects-chapt.html#dbc_assertions说“一个断言是一个顶级模式对象。它由一个不能为假的(可能未知)。HyperSQL 尚不支持断言。”

于 2021-03-18T21:24:10.553 回答