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. MySQL MEB常见用法

    1. 备份成镜像 备份: ./mysqlbackup --socket=/usr/local/mysql-advanced--linux-glibc2.-x86_64/data/mysql.sock ...

  2. ecshop 修改记录20150710

    ecshop 修改记录20150710 1:去掉头部TITLE部分的ECSHOP演示站 Powered by ecshop 前台部分:在后台商店设置 - 商店标题修改 后者打开includes/lib ...

  3. Redis实际开发中常见问题

    首先redis作为缓存,一般作为缓存有2个用途,快速访问和减少IO频率,所谓减少IO频率就是等缓存积累到一定大小然后一次刷入磁盘进行持久化. 一般的设计就是客户端往数据库里更新或者读写数据,redis ...

  4. 学习CountDownLatch

    对比 使用CyclicBarrier 上次用Barrier方式实现了线程等待一组完成,这次用CountDownLatch来实现 我的理解CountDownLatch 采用的方式是计数器方式,每执行完一 ...

  5. angular 表单验证

    最近在用angular写表单验证时 , 不小心把ng-model全替换删掉了, 然后发现之前写的验证都失效, 在查阅资料和反复修改摸索后, 发现angular中的表单验证, 都是基于ng-model的 ...

  6. Python微信公众号开发

    最近老大叫我学习开发微信,试着玩了下.网上查了下文档.有点过时. 简单步骤: 1)申请服务器并完成环境配置 去腾讯云购买云服务器.当然你也可以购买其他产品,比如阿里云.因为我是学生,有优惠110一年. ...

  7. Pattern recognition and machine learning 疑难处汇总

    不断更新ing......... p141 para 1. 当一个x对应的t值不止一个时,Gaussian nosie assumption就不合适了.因为Gaussian 是unimodal的,这意 ...

  8. Excel常用的格式处理

    你有没有碰到在Excel中设置了行高自适应后,部分行的行高太小,整体界面不美观的问题呢? 你有没有碰到Excel中的各个sheet页中的各列内容中都有不同个数的回车换行符,内容看起来参差不齐,不美观呢 ...

  9. QT5:C++实现基于multimedia的音乐播放器(二)

    今天接着上一篇来实现播放器的槽函数. 先来实现播放模式,槽函数如下: //播放模式 void Music::musicPlayPattern() { //z=++z%3; ) { //顺序播放 pla ...

  10. 静态成员函数与pthread_create,纯虚函数匹配使用实例

    最近在浏览朋友写的代码,发现有一个细节非常值得学习,在这里将代码贴出来简单分享一下: #ifndef THREAD_H_ #define THREAD_H_ #include <pthread. ...