科技行者

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

知识库

知识库 安全导航

至顶网软件频道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

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

有了schema中的这个声明,任何基于productSizeType 的元素都可以包含任何种类的列表;所以下面示例中的两种产品元素都是productSizeType数据类型的有效的实例。

<Catalog>

  <Product>

    <ProductName>Road Bike</ProductName>

    <AvailableSizes>22 24</AvailableSizes>

  </Product>

  <Product>

    <ProductName>Cycling Jersey</ProductName>

    <AvailableSizes>S M L</AvailableSizes>

  </Product>

</Catalog>

 

  类似的,SQL Server 2008支持对包含union 类型的list 类型的schema 声明。

  4 增强了XQuery

  SQL Server 2005推出了XML 数据类型,它提供了一些你可以使用的方法来对存储在一个列或变量中的XML数据进行操作。你可以执行的大多数操作都使用XQuery语法来操纵和使用 XML数据。SQL Server 2005所支持的XQuery 语法包括被称作FLWOR 表达式的for、where、order by和return 条件子句,你可以使用它来循环迭代一个XML文档的节点和返回结果值。

  SQL Server 2008增加了对let条件子句的支持,它是用来在XQuery表达式中对变量进行赋值的,例如下面的示例:

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(

'<Orders>

{

for $invoice in /Invoices/Invoice

let $count :=count($invoice/Items/Item)

order by $count

return

<Order>

{$invoice/Customer}

<ItemCount>{$count}</ItemCount>

</Order>

}

</Orders>')

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

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

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