如何将 XML 架构文档分配给具有 XML 数据类型的 SQL Server 表的列



我使用SQL Server 2008 R2,并有一个简单的表,数据类型为XML的列。我已经创建了一个XML Schema文档,它可以正确地验证将要存储的XML数据。我的问题是:

  1. 我如何将模式分配给列,以便它将验证XML并在模式失败时拒绝插入?

  2. 是否需要模式才能向列添加XML索引,或者可以在没有模式文档的情况下添加XML索引?

要创建一个模式集合,您可以使用以下命令:

CREATE XML SCHEMA COLLECTION MyXmlSchema AS
N'YourSchemaHere';

然后使用:

CREATE TABLE MyTable
(
   MyTableId INT PRIMARY KEY
   , XmlData XML (MyXmlSchema)
)

引用自:http://technet.microsoft.com/en-us/library/ms176009.aspx

这个例子表明,您不需要在XML上有一个模式,就可以索引列:http://msdn.microsoft.com/en-us/library/bb510443.aspx

最新更新