Linux,UNIX和Windows版本的DB2 9.7版引入了一个新的存储过程叫做“XDB_DECOMP_XML_FROM_QUERY”。它利用带有Annotations标记的schema来分解一个或者多个从类型为“XML”,“BLOB”或者“VARCHAR FOR BIT DATA”的列选择出来的XML文档。它与存储过程“XDBDECOMPXML”的主要差异在于,“XDB_DECOMP_XML_FROM_QUERY”把SQL查询看作参数,并可以执行它来从DB2表中获取输入文档。对于大数量的文档,“LOAD”操作是批量进行分解的,它比对每个文档依次调用存储过程分别分割效率更高。
图11.14展……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
Linux,UNIX和Windows版本的DB2 9.7版引入了一个新的存储过程叫做“XDB_DECOMP_XML_FROM_QUERY”。它利用带有Annotations标记的schema来分解一个或者多个从类型为“XML”,“BLOB”或者“VARCHAR FOR BIT DATA”的列选择出来的XML文档。它与存储过程“XDBDECOMPXML”的主要差异在于,“XDB_DECOMP_XML_FROM_QUERY”把SQL查询看作参数,并可以执行它来从DB2表中获取输入文档。对于大数量的文档,“LOAD”操作是批量进行分解的,它比对每个文档依次调用存储过程分别分割效率更高。图11.14展示了这个存储过程的参数。“commit_Count”参数和“allow_access”参数是输出参数,提供批量分割过程的结果信息。所有参数都在表11.8中有介绍说明。
图11.14 存储过程“XDB_DECOMP_XML_FROM_QUERY”。
表11.8 存储过程“XDB_DECOMP_XML_FROM_QUERY”的参数。
图11.15展示了在CLP中一次存储过程“XDB_DECOMP_XML_FROM_QUERY”的调用过程。这个存储过程调用读取“customer”表“info”列中的所有XML文档,并用Annotations标记XML Schema“db2admin.cust2xsd”把他们分割。该存储过程每25个文档提交一次,即使有文档没有被分割成功的话,也不会停止执行。
图11.15 调用存储过程“SYSPROC.XDB_DECOMP_XML_FROM_QUERY”。
如果你需要频繁地在CLP中执行批量分割,那就使用命令“DECOMPOSE XML DOCUMENTS”,而不要使用存储过程。使用命令行更方便,而且与存储过程“XDB_DECOMP_XML_FROM_QUERY”执行的是相同的任务。图11.16列出了该命令的语法。该命令的各种从句和关键字与相应的存储过程参数意义相同。例如:“query”是提供这些输入文档的查询语句,而“xml-schema-name”是两部分Annotations标记XML Schema的SQL识别符。
图11.16 “DECOMPOSE XML DOCUMENTS”命令的语法。
图11.17 介绍了DB2命令行处理器(CLP)中的“DECOMPOSE XML DOCUMENTS”命令。
图11.17 “DECOMPOSE XML DOCUMENTS”命令的示例。
如果你不指定“message-file”,那么错误报告会被写到标准输出。图11.18列出了一个错误报告示例。对于每一个分割失败的文档,错误报告会显示出该文档的识别符(xdb:documented)。这个识别符是从“DECOMPOSE XML DOCUMENTS”SQL语句产生的在第一列中获得的。错误报告还包括每一个分割失败的文档的DB2错误信息。图11.18显示:文档1002包含了一个意料之外的XML属性调用状态,而文档1005包含一个无效的元素或者属性值“abc”,因为该XML Schema预期找到一个类型为“xs:integer”的整数值。
图11.18 批量分割XML文档的错误报告示例。
翻译
相关推荐
-
Oracle数据库迁移的基本方法与设计
当决定将Oracle数据库迁移到云中的时候,你该如何下手?Tom Laszewski和Prakash Nauduri的新书《迁移到云》解答了这个问题。
-
解决创建存储过程时的Insufficient privileges错误
使用Toad在schema中创建一个存储过程时出现了“Insufficient privileges.”错误,专家解答了该如何解决这一问题。
-
开发者的兵工厂:SQL Server开发工具五大新特性
SSDT包含一系列的新特性,能够进一步简化开发并提升数据库开发效率。在本文中,我们就将为您介绍其中5个最重要的功能,DBA和开发者需注意本文提到的内容。
-
Oracle应用备份:何为最佳方法?
在不使用导入导出工具的情况下,在一个单一Oracle 10g实例中进行备份与恢复独立schema的最佳办法是什么?专家给出了答案。