1.xml查询语句

① 查询xml中的单个节点内容

   select TM_PRM_OBJECT.ORG , TM_PRM_OBJECT.PARAM_CLASS , TM_PRM_OBJECT.PARAM_KEY , XMLCAST(xmlquery('$d/com.allinfinance.cps.param.def.AuthTxnCode/templateCode'

PASSING XMLPARSE(DOCUMENT(param_object)) AS "d") AS VARCHAR(100)) , XMLCAST(xmlquery('$d/com.allinfinance.cps.param.def.AuthTxnCode/description'

PASSING XMLPARSE(DOCUMENT(param_object)) AS "d")  AS VARCHAR(100))

from BMP.TM_PRM_OBJECT where TM_PRM_OBJECT.PARAM_CLASS like '%AuthTxnCode%'

② 插入语句(插入内容是个查询语句)

insert into TM_RULE_NAME_TEMP (PARAM_KEY,RULE_NAME)  select  PARAM_KEY,      XMLCAST(xmlquery('$d/com.allinfinance.cps.param.def.AuthTemplateCode/authCheckPointEnabled/entry/com.allinfinance.cps.param.def.enums.AuthCheckPoint'   PASSING    XMLPARSE(DOCUMENT(param_object)) AS "d")  AS      VARCHAR(20))

   from TM_PRM_OBJECT where param_class='com.allinfinance.cps.param.def.AuthTemplateCode'

③ 根据指定的xml节点的内容查询

  select TM_PRM_OBJECT.PARAM_KEY from  TM_PRM_OBJECT  where param_class='com.allinfinance.bmp.param.def.Product' and   XMLEXISTS('$d/com.allinfinance.bmp.param.def.Product[brand="C"]'    PASSING   XMLPARSE(DOCUMENT(param_object)) AS "d")

2.xml字段更新语句

①插入节点

  UPDATE  TM_PRM_OBJECT  set  PARAM_OBJECT = xml2clob(xmlquery('copy $new := $d

modify do insert  ****(节点内容) as last into $new/com.allinfinance.cps.param.def.AuthTxnCode

  return $new' PASSING XMLPARSE(DOCUMENT(param_object)) as "d"))

  where PARAM_CLASS='com.allinfinance.cps.param.def.AuthTxnCode'

  and XMLEXISTS('$d/com.allinfinance.cps.param.def.AuthTxnCode[templateCode="01551"]' PASSING XMLPARSE(DOCUMENT(param_object)) AS "d")

② 节点重命名(修改)

  UPDATE TM_PRM_OBJECT set TM_PRM_OBJECT.PARAM_CLASS='com.allinfinance.bmp.param.def.InputChannel', PARAM_OBJECT = xml2clob(xmlquery('copy $new := $d

modify  do  rename  $new/com.allinfinance.cps.param.def.InputChannel  as "com.allinfinance.bmp.param.def.InputChannel"

return $new' PASSING XMLPARSE(DOCUMENT(param_object)) as "d"))

where PARAM_CLASS='com.allinfinance.cps.param.def.InputChannel'

3.xml节点删除(这里为shell脚本中写法,在数据库中要去掉转义符)

  删除map中的一个元素

  db2 "UPDATE TM_PRM_OBJECT set PARAM_OBJECT = xml2clob(xmlquery('copy \$new := \$d

modify do delete  \$new/com.allinfinance.cps.param.def.AuthTemplateCode/authCheckPointEnabled/entry[com.allinfinance.cps.param.def.enums.AuthCheckPoint=\"Ass_019\"]

return \$new' PASSING XMLPARSE(DOCUMENT(param_object)) as \"d\"))

where PARAM_CLASS='com.allinfinance.cps.param.def.AuthTemplateCode' and PARAM_KEY in ('${bankTemplateCd}','${bankConfirmTemplateCd}','${cupTemplateCd}','${cupConfirmTemplateCd}')    and                    XMLEXISTS('\$d/com.allinfinance.cps.param.def.AuthTemplateCode/authCheckPointEnabled/entry[com.allinfinance.cps.param.def.enums.AuthCheckPoint=\"Ass_019\"]' )"

  

  删除单独的一个节点

  update tm_prm_object set tm_prm_object.PARAM_OBJECT=xml2clob(xmlquery('copy $new := $d modify do delete $new/com.allinfinance.cps.param.def.ProductCredit/postCurrCd

  return $new' PASSING XMLPARSE(DOCUMENT(param_object)) AS "d")) where tm_prm_object.PARAM_CLASS='com.allinfinance.cps.param.def.ProductCredit' and param_key='000001';

DB2数据库操作XMl字段的更多相关文章

  1. db2 数据库操作JDBC .addBatch() 方法执行时,报错排查结果

    今天调试db2数据的存储时,jdbc使用addBatch方法时,抛出异常,异常信息如下: [jcc][1091][10404][3.62.56] 数据转换无效:参数实例  对于所请求的转换无效. ER ...

  2. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  3. SQL Server对Xml字段的操作

    T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...

  4. (转)SQL对Xml字段的操作

    T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...

  5. SQL对Xml字段的操作

    转:http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html T-Sql操作Xml数据 一.前言 SQL Server 2005 ...

  6. WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)

    WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...

  7. DB2 数据库常用操作【持续更新】

    好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...

  8. Javascript 操作 Sql中的Xml 字段

    在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取.这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多 ...

  9. (轉載)sql server xml字段的操作

    原文轉自:http://blog.csdn.net/hliq5399/article/details/8315373 另外可參考:https://msdn.microsoft.com/en-us/li ...

随机推荐

  1. 在VirtualBox中的Ubuntu中添加新硬盘

    步骤如下: 1. 关闭Ubuntu系统,打开VistualBox,"设置"->"存储"->"添加虚拟硬盘" 2. 启动Ubunt ...

  2. Java永久代去哪儿了

    http://www.infoq.com/cn/articles/Java-PERMGEN-Removed 在Java虚拟机(以下简称JVM)中,类包含其对应的元数据,比如类的层级信息,方法数据和方法 ...

  3. Roundcube 1.2.2 - Remote Code Execution

    本文简要记述一下Roundcube 1.2.2远程代码执行漏洞的复现过程. 漏洞利用条件 Roundcube必须配置成使用PHP的mail()函数(如果没有指定SMTP,则是默认开启) PHP的mai ...

  4. mybatis源码解读(三)——数据源的配置

    在mybatis-configuration.xml 文件中,我们进行了如下的配置: <!-- 可以配置多个运行环境,但是每个 SqlSessionFactory 实例只能选择一个运行环境常用: ...

  5. 大数据与Mapreduce

    第十五章 大数据与Maprudece 一.引言 实际生活中的数据量是非常庞大的,采用单机运行的方式可能需要若干天才能出结果,这显然不符合我们的预期,为了尽快的获得结果,我们将采用分布式的方式,将计算分 ...

  6. Urlparse模块

    urlparse模块主要是把url拆分为6部分,并返回元组.并且可以把拆分后的部分再组成一个url.主要有函数有urljoin.urlsplit.urlunsplit.urlparse等. urlpa ...

  7. tomcat项目绑定到域名及运行内存配置

    一.tomcat中的项目绑定到域名通过域名访问 1.在tomcat下的conf/server.xml中找到Host修改(1.name为你的域名,2.配置Context中的path为空就是直接访问项目不 ...

  8. bootstrap-table+x-editable入门

    Bootstrap-table 快速入门bootstrap-table----我的表单不可能这么帅. Table of contents Quick start Why use it What's i ...

  9. 程序员快递请查收,来自Python黑客大佬的一份DDOS攻击说明书!

    DDoS攻击没有我们想象中的那么简单,并不是什么Python程序员都能够做到的. 若要知晓黑客利用DDOS攻击原理那么我们必须要知道是实行DDoS攻击比较难的原因是什么? 很简单的一句话概括:&quo ...

  10. C#本质论笔记

    第一章 C#概述 1.1 Helo,World 学习一种新语言最好的办法就是动手写程序.        C#编译器创建的.exe程序是一个程序集(Assembly),我们也可以创建能由另一个较大的程序 ...