Oracle应用之批量递增更新数据脚本
需求:更新用户表的工号,格式为“GD1,GD2,...”的格式,如果有数据取最大值再递增
E1:先查询出是否有数据,有数据取最大值再递增,使用nvl函数
/* 查询max值*/
select nvl(max(to_number(replace(t.user_num, 'GD', ''))), 0)
from t_user t
where t.user_num like 'GD%';
E2:创建Oracle序列,start with改为max值
/* Create sequence,start with改为max值 */
create sequence user_num_t_user
minvalue 1
maxvalue 999999999999999999999999999
start with 200
increment by 1
cache 20;
commit;
/* drop sequence */
drop sequence user_num_t_user;
E3:批量更新
/* batch update*/
update t_user
set user_num = 'GD' || user_num_t_user.nextval
where user_num is null
and IS_OUTNET_REG = 0;
E4:如果下次使用序列,记得更改start with的值,因为每次使用都会更新这个值的
上面方法是使用Oracle序列的方法,如果用Oracle的rownum,也是可以实现需求的,脚本如:
update t_user
set user_num = 'GD' ||
(rownum +
(select nvl(max(to_number(replace(t.user_num, 'GD', ''))),
0)
from base_user t
where t.user_num like 'GD%'))
where user_num is null;
Oracle应用之批量递增更新数据脚本的更多相关文章
- oracle批量新增更新数据
本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法: 批量新增数据 对于批量新增数据,介绍两种方法 ...
- Oracle CDC (Change Data Capture)更新数据捕获——概述
Change Data Capture能高效识别并捕获数据的插入.修改和删除,使更新数据供个人或应用使用. CDC从oracle 9i开始引入,//TODO 在11G R2之后的版本里将取消支持,被O ...
- ORACLE基本SQL语句-添加更新数据函数篇
一.添加数据 /*添加数据*/insert into STU values('stu0004','赵一',18,1,"kc0004");insert into STU(STU_ID ...
- mongodb批量update更新数据
需要先查找出相关的记录,然后循环处理更新数据.如下案例,更新所有status=1的数据的gender值为2 db.getCollection('test').find({"status&qu ...
- Oracle生成批量清空表数据脚本
select 'DELETE FROM ' || a.table_name || '; --' || a.comments from user_tab_comments a where a.table ...
- Oracle 使用MERGE INTO 语句更新数据
/*Merge into 详细介绍MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配 ...
- Oracle CDC (Change Data Capture)更新数据捕获——Asynchronous HotLog Mode(附带简单的kettle任务实现数据同步)
Performing Asynchronous HotLog Publishing Step 1 Source Database DBA: Set the database initializat ...
- Salesforce LWC学习(三十五) 使用 REST API实现不写Apex的批量创建/更新数据
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/resources_compo ...
- oracle使用sequence批量写数据
本博客是对之前写的博客Oracle批量新增更新数据的补充,oracle的知识真是多,其实要学精任何一门知识都是要花大量时间的,正所谓: 学如逆水行舟,不进则退 先介绍oracle sequence的一 ...
- oracle或mysql定时增量更新索引数据到Elasticsearch
利用kettle Spoon从oracle或mysql定时增量更新数据到Elasticsearch https://blog.csdn.net/jin110502116/article/details ...
随机推荐
- 不同版本AutoCAD的ProgID
AutoCAD产品名 ProgID AutoCAD 2004 AutoCAD.Application.16 AutoCAD 2005 AutoCAD.Application.16.1 AutoCAD ...
- ChatGPT 相关资料
ChatGPT是基于GPT-3.5的语言模型且并未开源.对ChatGPT的资料搜索主要来自于兄弟模型InstrucGPT的相关资料. 相比较于InstrucGPT,ChatGPT采用多轮对话形式,符合 ...
- 【公众号搬运】React-Native开发鸿蒙NEXT(2)
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- MySQL中以数值类型存储IP地址
前言 数据库中存储IP地址的时候,推荐使用整数存储而不是字符串.一般来说, 在保证正确性的前提下,尽量使用最小的数据类型来存储和展示数据:小的数据类型一般比大的更快,因为小的数据类型占用的磁盘空间 ...
- Libnetwork底层原理以及Docker网络实现
1.CNM CNM (Container Network Model) 是 Docker 发布的容器网络标准,意在规范和指定容器网络发展标准,CNM 抽象了容器的网络接口 ,使得只要满足 CNM 接口 ...
- HarmonyOS运动语音开发:如何让运动开始时的语音播报更温暖
鸿蒙核心技术##运动开发##Core Speech Kit(基础语音服务)# 前言 在运动类应用中,语音播报功能不仅可以提升用户体验,还能让运动过程更加生动有趣.想象一下,当你准备开始运动时,一个温暖 ...
- onnxruntime-gpu创建会话时报错:Could not load symbol cudnnGetLibConfig. Error code 127
最近在新的设备上做模型的demo,模型训练好之后,我习惯的拉取了我基于pyqt5和onnxruntime的demo演示代码,我按照我的cuda和cudnn环境,安装了1.19的onnxruntim ...
- Grafana+Prometheus+Node_exporter监控Linux系统
一.简单介绍 这里介绍使用prometheus+grafana+node_exporter实现linux系统的监控.下面针对这三个组件进行具体的说明 prometheus prometheus是一套开 ...
- taskiq异步分布式任务管理器 适用fastapi
taskiq 异步分布式任务管理器 https://taskiq-python.github.io/ 将 taskiq 视为 asyncio celery 实现.它使用几乎相同的模式,但它更加现代和灵 ...
- Uniapp简易使用canvas绘制分享海报
使用UniApp Canvas实现分享海报 一.分享海报 现在使用 Uniapp 中的 canvas 简单实现下商品的分享海报,附上二维码(这个可以附上各种信息例如分享绑定下单等关系),开箱即用. 动 ...