我正在使用SQL Server 2008 R2,并且拥有一个包含数据类型XML
列的简单表。我创建了一个XML Schema文档,可以正确验证将要存储的XML数据。我的问题是:
如何将模式分配给列,以便在模式失败时验证XML并拒绝插入?
是否需要架构才能将XML索引添加到列中,或者是否可以在没有架构文档的情况下添加XML索引?
答案 0 :(得分:9)
要创建架构集合,可以使用以下命令:
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