SQL Server XML架构:有没有办法在Xml上添加唯一约束?

时间:2017-05-02 21:51:39

标签: sql-server xml xml-schema-collection

以下create xml schema collection代码返回错误

Msg 9336, Level 16, State 1, Line 34
The XML Schema syntax 'unique' is not supported.
create xml schema collection cs.T as N'  
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
  <xsd:element name="Column">
    <xsd:unique name="uniqueKey">
      <xsd:selector xpath="@ColumnKey"/>
      <xsd:field xpath="."/>
    </xsd:unique>
  </xsd:element>
</xsd:schema>';

有没有办法通过其他方式设置唯一约束?

1 个答案:

答案 0 :(得分:0)

这是正确的:<xsd:unique>不受支持。来自the documentation

  

目前,SQL Server不支持这些基于XSD的约束来强制实施唯一性或建立密钥和密钥引用。无法注册包含这些元素的XML模式。

正如文档所述,同样的问题也适用于<xsd:key><xsd:keyref>