DB2数据库操作XMl字段
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字段的更多相关文章
- db2 数据库操作JDBC .addBatch() 方法执行时,报错排查结果
今天调试db2数据的存储时,jdbc使用addBatch方法时,抛出异常,异常信息如下: [jcc][1091][10404][3.62.56] 数据转换无效:参数实例 对于所请求的转换无效. ER ...
- 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 ...
- SQL Server对Xml字段的操作
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- (转)SQL对Xml字段的操作
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- SQL对Xml字段的操作
转:http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html T-Sql操作Xml数据 一.前言 SQL Server 2005 ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- DB2 数据库常用操作【持续更新】
好久没写博客了. 上次还是两个月前. 1. 连接数据库 db2 connect to dbName user userName using password 2. 查看表结构 db2 "de ...
- Javascript 操作 Sql中的Xml 字段
在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取.这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多 ...
- (轉載)sql server xml字段的操作
原文轉自:http://blog.csdn.net/hliq5399/article/details/8315373 另外可參考:https://msdn.microsoft.com/en-us/li ...
随机推荐
- JavaScript数组中出现的次数最多的元素
var arr = [1,-1,2,4,5,5,6,7,5,8,6]; var maxVal = arr[0]; // 数组中的最大值 var minVal = arr[0]; // 数组中的最小值 ...
- Django之AppConfig源码学习
class AppConfig(object) 这个基类描述了一个Django应用以及它的配置信息. 属性: name:django应用的完整python路径,eg.'django.contrib.a ...
- Day5_模块与包(import)(form......import....)
一个文件中定义了很多模块,然后可以再别的文件中调用这几个模块. #导入模块(import) #1,执行源文件 #2,产生以源文件为基础的全局名称空间.
- JS跨域:2.解决方案之-设置回调参数
一 服务器端代码 package com.cn; import java.util.List; import javax.servlet.http.HttpServletRequest; import ...
- 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 使用FairyGUI (一)
我们的热更新脚本在实际使用中,当然也要支持常用的第三方组件,例如这里介绍一个非常实用的第三方UI库:FairyGUI. 什么是FairyGUI 这里照搬FaiyGUI官网的介绍: 重新定义 UI 制作 ...
- Unity5 打assetbundle时,无法打成图集仍然是散图的原因
首先需要把 SpritePacker设置成可用 菜单Edit->project setting->editor 修改为可用 然后,保证所有图片的导入格式如下 最主要是 packi ...
- Java 线程同步组件 CountDownLatch 与 CyclicBarrier 原理分析
1.简介 在分析完AbstractQueuedSynchronizer(以下简称 AQS)和ReentrantLock的原理后,本文将分析 java.util.concurrent 包下的两个线程同步 ...
- 基于ThreadPoolExecutor,自定义线程池简单实现
一.线程池作用 在上一篇随笔中有提到多线程具有同一时刻处理多个任务的特点,即并行工作,因此多线程的用途非常广泛,特别在性能优化上显得尤为重要.然而,多线程处理消耗的时间包括创建线程时间T1.工作时间T ...
- linux下svn(subversion)服务端添加工程及配置权限
linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...
- Python学习 Part4:模块
Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...