DB2 的create or update方法

通过merge方法实现的:

MERGE INTO IFEBASE.STYLE AS MT
USING (SELECT :scenario AS SCENARIO_ID, :style AS SHAPE FROM SYSIBM.DUAL) AS VT ON (MT.SCENARIO_ID = VT.SCENARIO_ID)
WHEN MATCHED THEN UPDATE SET
MT.SHAPE = VT.SHAPE
WHEN NOT MATCHED THEN
INSERT (SCENARIO_ID, SHAPE) VALUES (VT.SCENARIO_ID, VT.SHAPE)

时间: 2024-11-08 08:25:29

DB2 的create or update方法的相关文章

【MyBatis源码分析】insert方法、update方法、delete方法处理流程(上篇)

打开一个会话Session 前文分析了MyBatis将配置文件转换为Java对象的流程,本文开始分析一下insert方法.update方法.delete方法处理的流程,至于为什么这三个方法要放在一起说,是因为: 从语义的角度,insert.update.delete都是属于对数据库的行进行更新操作 从实现的角度,我们熟悉的PreparedStatement里面提供了两种execute方法,一种是executeUpdate(),一种是executeQuery(),前者对应的是insert.upda

SqlDataAdapter.Update()方法与SqlCommandBuilder(转)

用SqlDataAdapter操纵数据集时最常用到的就是Fill()与Update()方法.Fill()填充DataSet或DataTable,而Update()就是将DataSet或DataTable中的改变更新到数据库中.若没有用Update()方法,DataSet或DataTable中数据的改变并不会影响数据库中的数据.示例:用SqlDataAdapter填充DataTable,这里用的是Northwind数据库中的Employees表 string strcon1 = "Data Sou

[原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

ThinkPHP Mongo驱动update方法支持upsert参数

Mongo数据库update操作有一个相对于Mysql的关键特性,它可以使用upsert模式,当更新的数据不存在时,直接插入,但是ThinkPHP的Mongo驱动居然不支持这一特性,没办法,自力更生了. ThinkPHP的driver层,见由于支持多种DB,又使用了继承,使用得类层次结构较深,负责Mongo驱动的是DbMongo.class.php,文件位于ThinkPHP\Extend\Driver\Db,修改Update方法的$options参数,如果update方法提供了upsert选项时

Unity3d中Update()方法的替身

在网上看到一些资料说Unity3d的Update方法是如何如何不好,影响性能.作为一个菜鸟,之前我还觉得挺好用的,完全没用什么影响性能的问题存在.现在发现确实有很大的问题,我习惯把一大堆检测判断放在Update中去执行,这种检测判断每帧都在执行,而往往其中的方法可能只执行一次或几次,这样确实对性能有很大的影响. 下面这种是我经常使用的写法: [javascript] view plaincopyprint? function Update () { if (!wait) { transform.

MongoDB中insert方法、update方法、save方法简单对比

MongoDB中insert方法.update方法.save方法简单对比 1.update方法 该方法用于更新数据,是对文档中的数据进行更新,改变则更新,没改变则不变. 2.insert方法 该方法用于插入数据到文档中,也就是给文档添加新数据. 3.save方法 该方法同样用于插入数据到文档中,功能是类似于insert方法的.与insert方法不同的是, save方法是遍历文档,逐条将数据插入进去的,而insert方法是将整个文档整体插入进去的. 由两个方法的源码可以看出来. save方法的写法

Hibernate更新某些字段的几种update方法

Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: [java] view plaincopy public class TeacherTest { @Test public void update(){ Session session =  HibernateUitl.getSessionFactory().getCurrentSession(); session.beginTransaction(); Teache

Hibernate的merge与update方法的区别

今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样.实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容: 1. 数据库记录已存在,更改person的name为一个新的name. merge方法打印出的日志如下: Hibernate: select person0_.id as id0_0_, person0_.name as name0_0_ from person person0_ where person0

MongoDB学习笔记~Update方法更新集合属性后的怪问题

回到目录 在对MongoDB进行封装后,对于Update更新对象里的集合属性时出现了一个现象,让人感到很恶心,人家更新前是个美丽的Array,但是更新之后集合对象变成了键值对,键是集合的类型名称,值是真实的数组值,哈哈,这个问题起初困扰了我很久,今天终于豁然开朗了,原来是Update方法的问题,呵呵! 看原来的值 看更新后的变质的值 再看看我们的Update方法 public Task UpdateAsync(TEntity item) { var query = new QueryDocume