Transact-SQL for子句

FOR 子句 (Transact-SQL) 

FOR 子句用来指定 BROWSE 或 XML 选项。BROWSE 和 XML 是无关的选项。

主题链接图标Transact-SQL 语法约定

语法语法
[ FOR { BROWSE | <XML> } ]
<XML> ::=
XML
{
{ RAW [ ( 'ElementName' ) ] | AUTO }
[
<CommonDirectives>
[ , { XMLDATA | XMLSCHEMA [ ( 'TargetNameSpaceURI' ) ] } ]
[ , ELEMENTS [ XSINIL | ABSENT ]
]
  | EXPLICIT
[
        <CommonDirectives>
        [ , XMLDATA ]
]
| PATH [ ( 'ElementName' ) ]
[
<CommonDirectives>
[ , ELEMENTS [ XSINIL | ABSENT ] ]
]
}
<CommonDirectives> ::=
[ , BINARY BASE64 ]
[ , TYPE ]
[ , ROOT [ ( 'RootName' ) ] ]
参数参数
BROWSE

指定可以在查看 DB-Library 浏览模式游标中的数据时进行更新。如果表包括 timestamp 列,并且表有唯一索引,而且在发送到 SQL Server 实例的 SELECT 语句中 FOR BROWSE 选项位于末尾,则可以在应用程序中浏览该表。

ms173812.note(zh-cn,SQL.90).gif注意: 不能在包括 FOR BROWSE 选项的 SELECT 语句中使用 <lock_hint> HOLDLOCK。

 

 

FOR BROWSE 不能出现在由 UNION 运算符所联接的 SELECT 语句中。

ms173812.note(zh-cn,SQL.90).gif注意: 如果表的唯一索引键列可为空,并且表在外部联接的内侧,则浏览模式不支持索引。

 

 

XML

指定以 XML 文档返回查询的结果。必须指定下列 XML 模式之一:RAW、AUTO、EXPLICIT。有关 XML 数据和 SQL Server 的详细信息,请参阅。

RAW [ ('ElementName') ]

获得查询结果并将结果集内的每一行转换为以一般标识符 <row /> 作为元素标记的 XML 元素。(可选)可以为该行元素指定名称。所得到的 XML 输出将使用指定的 ElementName 作为为每一行生成的行元素。有关详细信息,请参阅和 。

AUTO

以简单的嵌套 XML 树返回查询结果。FROM 子句中每个在 SELECT 子句中至少列出一次的表都被表示为一个 XML 元素。SELECT 子句中列出的列映射到适当的元素属性。有关详细信息,请参阅和 。

EXPLICIT

指定显式定义结果 XML 树的形状。使用该模式要求必须以一种特定的方式编写查询,即显式指定与想要的嵌套有关的其他信息。有关详细信息,请参阅和 。

XMLDATA

返回内联 XDR 架构,但不将根元素添加到结果中。如果指定了 XMLDATA,则 XDR 架构将被追加到文档末尾。

XMLSCHEMA [ ('TargetNameSpaceURI') ]

返回内联 XSD 架构。如果指定该指令(用于返回架构中指定的命名空间),则可以选择指定目标命名空间 URI。有关详细信息,请参阅。

ELEMENTS

指定列作为子元素返回。否则,列将映射到 XML 属性。只在 RAW、AUTO 和 PATH 模式中支持该选项。有关详细信息,请参阅 。

XSINIL

指定为 NULL 列值创建其 xsi:nil 属性设置为 True 的元素。该选项只能与 ELEMENTS 指令一起指定。有关详细信息,请参阅。

ABSENT

指示对于空列值,将不在 XML 结果中添加对应的 XML 元素。该选项只能与 ELEMENTS 一起指定。

PATH [ ('ElementName') ]

为结果集中的每一行生成 <row> 元素包装。(可选)可以为 <row> 元素包装指定元素名称。如果提供了空字符串(例如 FOR XML PATH ('')),则不生成包装元素。使用 PATH 可能为使用 EXPLICIT 指令所编写的查询提供更简单的代替方案。有关详细信息,请参阅。

BINARY BASE64

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

TYPE

指定查询以 xml 类型返回结果。有关详细信息,请参阅 。

ROOT [ ('RootName') ]

指定将一个顶级元素添加到结果 XML 中。(可选)可以指定要生成的根元素名称。如果不指定可选的根名称,则添加默认的 <root> 元素。

示例示例

以下示例指定具有 TYPEXMLSCHEMA 选项的 FOR XML AUTO。由于有 TYPE 选项,因此,结果集将作为 xml 类型返回到客户端。XMLSCHEMA 选项指定在所返回的 XML 数据中包括内联 XSD 架构,而 ELEMENTS 选项指定 XML 结果是以元素为中心的。

USE AdventureWorks;
GO
SELECT ContactID, FirstName, LastName, Phone
FROM Person.Contact
WHERE LastName LIKE 'G%'
ORDER BY LastName, FirstName
FOR XML AUTO, TYPE, XMLSCHEMA, ELEMENTS XSINIL;
 
 
 
         
      

转载于:https://www.cnblogs.com/lianyonglove/archive/2007/04/16/715123.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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。有关 XML 数据和 SQL Server 的更多信息,请参见使用 FOR XML 检索 XML 文档。 RAW 获得查询结果并将结果集内的各行转换为 XML 元素,用一般标识符 <row /> 作为元素标记。有关更多信息,请参见使用 RAW 模式。 AUTO 以简单的嵌套 XML 树返回查询结果。在 FROM 子句内,每个在 SELECT 子句中至少有一列被列出的表都表示为一个 XML 元素。SELECT 子句中列出的列映射到适当的元素特性。有关更多信息,请参见使用 AUTO 模式。 EXPLICIT 指定显式定义所得到的 XML 树的形状。使用此种模式,要求以一种特定的方式编写查询,以便显式指定有关期望的嵌套的附加信息。有关更多信息,请参见使用 EXPLICIT 模式。 XMLDATA 返回架构,但不将根元素添加到结果中。如果指定了 XMLDATA,它将被追加到文档上。 ELEMENTS 指定列作为子元素返回。否则,列将映射到 XML 特性。 BINARY BASE64 指定查询返回二进制 base64 编码格式的二进制数据。使用 RAW 和 EXPLICIT 模式检索二进制数据时,必须指定该选项。这是 AUTO 模式中的默认值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值