科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 2008中有关XML的新功能

SQL Server 2008中有关XML的新功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关键字FOR XML和OPENXML ,这使得开发人员可以编写Transact-SQL代码来获取XML流形式的查询结果。

作者:IT专家网 戴羽 来源:天新网 2008年3月25日

关键字: 数据库 Mssql SQL SQL Server

  • 评论
  • 分享微博
  • 分享邮件

 XML 数据类型还提供了一些方法,使得你可以使用它们来查询和操纵实例的XML数据。例如,你可以使用query 方法来查询xml 数据类型的一个实例的XML数据,如下面的示例所示:

declare @x xml
set @x=
'<Invoices>
<Invoice>
  <Customer>Kim Abercrombie</Customer>
  <Items>
   <Item ProductID="2" Price="1.99" Quantity="1" />
   <Item ProductID="3" Price="2.99" Quantity="2" />
   <Item ProductID="5" Price="1.99" Quantity="1" />
  </Items>
</Invoice>
 <Invoice>
  <Customer>Margaret Smith</Customer>
  <Items>
   <Item ProductID="2" Price="1.99" Quantity="1"/>
  </Items>
 </Invoice>
</Invoices>'
SELECT @x.query(
'<CustomerList>
{
for $invoice in /Invoices/Invoice
return $invoice/Customer
}
</CustomerList>')

  这个例子中的查询使用了一个XQuery 表达式,这个表达式找出文档中的每一个Invoice 元素,并返回一个包含每一个Invoice 元素的Customer元素的XML文档,如下面的示例所示:

<CustomerList>
  <Customer>Kim Abercrombie</Customer>
  <Customer>Margaret Smith</Customer>
</CustomerList>

  SQL Server 2005中的另外一个显著的与XML相关的特性是对XML索引的支持。你可以为类型化xml的列创建首要和次要的XML索引来增强XML查询性能,一个首要的XML索引是一个XML实例的所有节点的部分表示,查询处理器可以使用它来快速的找到一个XML值中的节点。在你创建了一个首要的XML索引之后,你可以创建次要的XML索引来提高特定的查询类型的性能。下面的示例创建了一个首要的XML索引,和一个PATH类型的次要XML索引,它可以提高使用XPath表达式来标识一个XML实例中的节点的查询的性能。

  CREATE PRIMARY XML INDEX idx_xml_Notes
  ON SalesOrders (Notes)
  GO
  CREATE XML INDEX idx_xml_Path_Notes
  ON SalesOrders (Notes)
  USING XML INDEX idx_xml_Notes
  FOR PATH
  GO

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章