CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

在SQL Server中如何与XML交互

作者: 松晨,  出处:IT专家网, 责任编辑: 王晓晨, 
2008-08-01 10:53
  在SQL Server 2005中,XML已经做为一种新型的类型存储在数据库中。借助于基于XML模式的强类型化支持和基于服务器端的XML数据校验功能,开发者就可以对存储的XML文档进行轻松地远程修改。

  【IT专家网独家】XML可以说是数据库表现的一种灵活的形式,在数据库开发过程中,很多时候我们都会需要涉及到XML,特别是用在数据交换。而在SQL Server 2005中,XML已成为一种流行的数据类型,XML已经做为一种新型的类型存储在数据库中。借助于基于XML模式的强类型化支持和基于服务器端的XML数据校验功能,开发者就可以对存储的XML文档进行轻松地远程修改。

  在SQL Server 2000中就已经包括了一些XML特征。最常用的是使用FOR XML语句以XML形式返回结果。SQL Server 2005的功能则明显不同。在SQL Server 2005中,XML是一种真正的数据类型;这意味着,可以使用XML作为表和视图中的列,XML可以用于T-SQL语句中或作为存储过程的参数。可以直接在数据库中存储、查询和管理XML文件。

  在SQL Server中,主要有以下几种操作XML的方式:

  1) FOR XML语句的使用

  FOR XML语句在使用的时候有三种模式,参数分别为:RAW、AUTO和EXPLICIT。

  先来分别看这几种模式:

  RAW模式:

  RAW 模式将查询结果集中的每一行转换为带有通用标识符 或可能提供元素名称的XML元素。默认情况下,行集中非 NULL 的每列值都将映射为 元素的一个属性。如果将 ELEMENTS 指令添加到 FOR XML 子句,则每个列值都将映射到 元素的子元素。

  先来看RAW的实现的方式:

  创建一个表:

CREATE TABLE [dbo].[Tb_User](
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [user_name] [varchar](20) NULL,
 [user_Pwd] [varchar](20) NULL,
 CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
 [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

      语句一: 

SELECT ID, User_Name, User_pwd FROM Tb_User FOR XML RAW

  输出的结果如下:

<row ID="1" User_Name="admin" User_pwd="admin888" />
<row ID="2" User_Name="user" User_pwd="user" />
  

  语句二: 

SELECT ID, User_Name, User_pwd FROM Tb_User FOR XML RAW, ELEMENTS
共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i