我使用SQL Server 2008 R2,并有一个简单的表,数据类型为XML
的列。我已经创建了一个XML Schema文档,它可以正确地验证将要存储的XML数据。我的问题是:
-
我如何将模式分配给列,以便它将验证XML并在模式失败时拒绝插入?
-
是否需要模式才能向列添加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