MSSQL 2000中Select语句FOR XML产生XML文件学习心得

    技术2022-05-11  116

    FOR 子句

    FOR 子句用于指定 BROWSE 或 XML 选项(BROWSE 和 XML 是不相关的选项)。

    语法

    [ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT }            [ , XMLDATA ]            [ , ELEMENTS ]            [ , BINARY BASE64 ]        } ]

    参数

    BROWSE

    指定当查看 DB-Library 浏览模式游标中的数据时允许更新。如果表包含时间戳列(用 timestamp 数据类型定义的列),表有唯一索引且 FOR BROWSE 选项在 SELECT 语句的最后发送到 SQL Server,则可以在应用程序中浏览该表。

    说明  在含有 FOR BROWSE 选项的 SELECT 语句中无法使用 <lock_hint> HOLDLOCK。

     

    FOR BROWSE 选项不能出现在用 UNION 运算符联接的 SELECT 语句中。

    XML

    指定查询结果将作为 XML 文档返回。必须指定下列 XML 模式之一:RAW、AUTO、EXPLICIT。

    RAW

    获得查询结果并将结果集内的各行转换为 XML 元素,用一般标识符 <row /> 作为元素标记。测试:

    select top  2  图书编号 = BookNo,图书名称 = BookName from sys_books as图书信息 FOR XML raw

    结果:

    < row 图书编号 = " B001 "  图书名称 = " 1 " />< row 图书编号 = " B002 "  图书名称 = " 体育报(上海) " />

     

    AUTO

    以简单的嵌套 XML 树返回查询结果。在 FROM 子句内,每个在 SELECT 子句中至少有一列被列出的表都表示为一个 XML 元素。SELECT 子句中列出的列映射到适当的元素特性。测试:

    select top  2  图书编号 = BookNo,图书名称 = BookName from sys_books  as  图书信息 FOR XML auto

    结果:

    < 图书信息 图书编号 = " B001 "  图书名称 = " 1 " />< 图书信息 图书编号 = " B002 "  图书名称 = " 体育报(上海) " />

     

    EXPLICIT

    指定显式定义所得到的 XML 树的形状。使用此种模式,要求以一种特定的方式编写查询,以便显式指定有关期望的嵌套的附加信息。

    XMLDATA

    返回架构,但不将根元素添加到结果中。如果指定了 XMLDATA,它将被追加到文档上。

    ELEMENTS

    指定列作为子元素返回。否则,列将映射到 XML 特性。

    测试:

    select top  2  图书编号 = BookNo,图书名称 = BookName from sys_books  as  图书信息 FOR XML AUTO,ELEMENTS

    结果:

    < 图书信息 >< 图书编号 > B001 </ 图书编号 >< 图书名称 > 1 </ 图书名称 ></ 图书信息 >< 图书信息 >< 图书编号 > B002 </ 图书编号 >< 图书名称 > 体育报(上海) </ 图书名称 ></ 图书信息 >

    NARY BASE64

    指定查询返回二进制 base64 编码格式的二进制数据。使用 RAW 和 EXPLICIT 模式检索二进制数据时,必须指定该选项。这是 AUTO 模式中的默认值。 


    最新回复(0)