索引和制约因素MS SQL服务器都是当地表它们的定义。这样你就可以创造同样的指数或约束的名字在一个以上的表没有烦恼。

外国主要制约因素(这些因为每个人都应该知道是不是钥匙,但限制条件)会出现在钥匙子和他们的名字出现在全球范围。

有人知道为什么"钥匙"具有全球范围的名字?我理解之间的差异键和索引。我不明白为什么应该有这样的差异名字的范围.在所有情况下,他们是"当地"的表它们的定义。

TIA

有帮助吗?

解决方案

根据"SQL-99完整的,真的是"彼得*Gulutzan和特鲁迪Pelzer,约束的姓名是合格的 架构 他们在其中生活,并表约束影响必须生活在同样的架构。但是约束的姓名是不合格的通过,表名。约束的名称必须是独特的架构,它的生命。

  • 是的: myschema.some_primary_key
  • 没有: myschema.mytable.some_primary_key

至于"为什么"是这种情况,我假设它是关于一种制约因素SQL-99被称为 ASSERTION.一个断言不能"属于"一个单一的表格,作为真主的关键,外国的关键,并检查的制约。一个说法宣布的一个条件,必须满足任何 INSERT/UPDATE/DELETE 要取得成功,并断言可参考多个表格。它不会有意义的限定这些制约的名称通过任何表。

我不知道有多少RDBMS品牌的实施SQL断言(实际上我不知道一个单一的一个),但它们可能以及符合标准的SQL规则约束的姓名,所以在未来他们可以选择实施的断言特征根据的标准。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top