XML编程与应用教程(第2版)第6章 XML和Microsoft SQL Server2005的.pptVIP

  • 5
  • 0
  • 约2.52千字
  • 约 13页
  • 2017-08-28 发布于辽宁
  • 举报

XML编程与应用教程(第2版)第6章 XML和Microsoft SQL Server2005的.ppt

第6章 XML和Microsoft SQL Server2008的集成 6.1 Microsoft SQL Server 2008对XML的支持 ? 增加了专门的XML数据类型 提供了对XQuery的全面支持 提供了XML DML 新的数据库引擎还提供面向XML数据的层次性索引 通过增强分布式查询的OPENROWSET的功能,提高同构甚至异构系统间批量XML数据的处理效率。 对于SQL Server 2005引入的FOR XML子句和OPENXML()也提供了更好的支持。 SQL Server 2008中对XML数据访问支持的增强 使用XQuery 表达式对XML 数据执行操作时,SQL Server 2008 增加了对Let 语句的支持, 该语句用于向XQuery 表达式中的变量赋值。 XML 数据类型通过其Modify 方法支持Insert、Replace Value of 和Delete 这些XML DML 表达式。可以使用这些XML DML 表达式操纵XML 列或变量中的XML 数据。 添加了对使用Insert 表达式中的XML 变量向现有XML 结构插入XML 数据的支持。 6.2 使用存储在SQL Server中的数据生成XML文档 Select 表1.列名1,表2.列名2…… From 表1,表2 For xml mode 其中,mode指定使用RAW、AUTO、EXPLICIT 或 PATH模式。 FOR XML 支持四种 XML 转换模式 RAW 模式将查询结果集中的每一行映射到一个 XML 元素,并将行中的每一列映射到一个属性。 AUTO 模式支持生成嵌套的 XML 元素,默认情况下,FROM 子句中的每个表(在 SELECT 子句中至少列出一列)将映射到一个 XML 元素,SELECT 子句中的列将映射到属性。 EXPLICIT 模式能够最大限度地控制由查询结果生成的 XML 的格式。 PATH 模式通过将列名解释为类似 XPath 的语法,将 SELECT 查询返回的行集合中的列映射到属性和子元素。 6.3 把XML数据插入到SQL Server数据库的表中 使用系统存储过程sp_xml_preparedocument的OPENXML函数把xml数据插入数据库。 系统存储过程sp_xml_removedocument可以用来删除xml文档的内部表示。 sp_xml_preparedocument的语法 sp_xml_preparedocument handleddoc OUTPUT,xmltext 其中: handleddoc代表xml文档句柄的整数值; xmltext代表原始的xml文档的文本值。 sp_xml_removedocument的语法 sp_xml_removedocument handleddoc 其中: handleddoc代表xml文档句柄的整数值 函数OPENXML的语法 OPENXML(handleddoc,rowpattern,flagvalue) With tablename 其中: handleddoc代表xml文档句柄的整数值; rowpattern代表来识别xml文档的节点xpath模式的可变长字符串的值; flagvalue代表xml数据和相关的行集之间的映射的整数值。如果值为1表示要对数据库中的字段做基于属性的映射;如果值为2表示要对数据库中的字段做基于元素的映射; tablename代表数据库中的表名。 6.4 SQL Server 中的 XML 数据类型 XML数据类型是一用专门用于保存和操作XML的数据类型。它是以BLOB的二进制形式保存的,一个XML类型字段可以保存2GB的XML代码,层次可达 128层。 使用 SQL Server中的新 XML 数据类型,可以实现: 创建既包含关系列,又包含有 XML 类型列的表。 通过与 XML 方案集合关联,创建有类型的 XML 列类型。 对涉及其他 XML 或非 XML 类型列的 XML 列进行限制,用以强制实现业务规则。 创建可用于存储 XML 数据类型实例的 XML 类型的变量。 为存储过程或用户定义的函数创建 XML 类型的参数。 从用户定义的函数中返回 XML 类型值。 将使用新的 TYPE 指令获得的 FOR XML 查询结果分配给 XML 类型的变量。 运行 XQuery 子集,在 XML 结构内查询并转换 XML 数据。 根据 XML 类型的列创建计算列。 为 XML 类型的列创建 XML 索引,以提高查询性能。 使用 XML DML 对 XML 实例进行元素级的插入、删除和更新操作。 将 XML 类型数据的实例传递

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档