MaxCompute动态更新表中某个(多个)字段的数据
功能
MaxCompute支持了delete
、update
功能,但当您需要使用多个insert
、update
、delete
对目标表进行批量操作时,需要编写多条SQL语句,然后进行多次全表扫描才能完成操作。MaxCompute提供的merge into
功能,只需要进行一次全表扫描操作,就可以完成全部操作,执行效率要高于insert
+update
+delete
。
merge into
操作具备原子性,作业中的insert
、update
、delete
操作都执行成功时,作业才算执行成功;任一内部逻辑处理失败,则整体作业执行失败。
同时,merge into
可以为您避免分别执行insert
、update
、delete
操作时,可能导致部分操作执行成功,部分操作执行失败,其中成功部分无法回退的问题。
使用限制
merge into
功能的使用限制如下:
- 仅支持Transactional表。更多创建Transactional表信息,请参见表操作。
- 不允许在同一条
merge into
语句中对相同的行执行多次insert
或update
操作。
查看是否是Transactional表
>desc extended t1;
sql语句
格式
merge into <target_table> as <alias_name_t> using <source expression|table_name> as <alias_name_s>
--从on开始对源表和目标表的数据进行关联判断。
on <boolean expression1>
--when matched…then指定on的结果为True的行为。多个when matched…then之间的数据无交集。
when matched [and <boolean expression2>] then update set <set_clause_list>
when matched [and <boolean expression3>] then delete
--when not matched…then指定on的结果为False的行为。
when not matched [and <boolean expression4>] then insert values <value_list>
实例
MERGE INTO xgj.classes_out AS t1 USING
(SELECT cls_id,name FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY cls_id ORDER BY name DESC) AS rownumFROM xgj.locations_dealWHERE ds = '${bizdate}') WHERE rownum = 1) AS t2 ON t1.cid =t2.cls_id AND t1.ds ='${bizdate}'
WHEN matched THEN UPDATE SET t1.school_name = t2.name;
其他数据库支持merge into 应该都是可以这样去更新的
阿里云文档
相关文章:

字符串数组的赋值
例如:main(){chars[30]; strcpy(s,"Good News!"); /*给数组赋字符串*/ }上面程序在编译时,遇到chars[30]这条语句时,编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为TurboC2.0的函数)时, 首先在目标文件的某处建…

NetBeans使用介绍(五)
第9章 Swing菜单 Swing菜单是我们经常用到的一种控件,NetBeans对菜单进行了很好的封装,是我们应用起来非常方便。下面,我们就来简单的了解一下Swing菜单。 菜单:Jmenu 菜单项:JmenuItem 复选菜单项:JcheckB…

Pycharm中如何安装python库
1首先打开pycharm工具,选择File中的Setting选项,如下图所示 2在打开的setting界面中我们点击python的解释器,你会看到很多导入的第三方库,如下图所示,点击最右边的加号 3在弹出的available packages界面中,…

LINUX下SVN命令大全
1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件 svn addfile例如:svn addtest.php(添加test.php)svn ad…

MaxCompute 多行数据合并为一行数据
SELECT class, wm_concat(distinct ,, name) FROM students GROUP BY class; 参考

python学习之循环语句的九九乘法表
while 语句的九九乘法表: ##九九乘法表#总共有九行# 每行中的列数,就是当前所处的行号#乘式的第一个数代表的是列,第二个数代表的是行row 1#行column 1#列while row < 9: while column < row: print(%d * %d %d, %(column…

影著协公布的使用费收取标准
网络:距首映两年内的电影基本使用费下限为10万元/部年。 网吧:每天的使用费为:电脑总量网吧每小时收费标准7.5%。 视频点播:基本使用费为每次点击的单价33.3%终端用户数10%。 飞机和火车:每年每部影片使用费为2500元~5万元。 轮船…

POJ.3207.Ikki's Story IV-Panda's Trick(2-SAT)
题目链接 \(Description\) 一个圆上顺序排列0,1,...,n-1共n个点,给出m条线段,线段可以从里面连也可以从外面连,问是否能满足所有线段不相交 \(Solution\) 把每条线段看做一个点,只有在圆外和在圆内两种情况,于是可以把…

sqlconnection,sqlcommand,SqlDataAdapter ,ExecuteNonQuery,ExecuteScalar
sqlconnection:表示 SQL Server 数据库的一个打开的连接。SqlConnection 对象表示与 SQL Server 数据源的一个唯一的会话。 在客户端/服务器数据库系统中,它等效于一个到服务器的网络连接。 SqlConnection 与 SqlDataAdapter 和 SqlCommand 一起使用&…

swift - idfa(唯一标示/下载量/广告追踪)
//设置-隐私-广告-限制广告跟踪关闭if ASIdentifierManager.shared().isAdvertisingTrackingEnabled {DDLOG(message: "IDFA:\(ASIdentifierManager.shared().advertisingIdentifier.uuidString)")}转载于:https://www.cnblogs.com/qingzZ/p/11046424.html

正则去除括号内容
var str"123{xxxx}456[我的]789123[你的]456(1389090)(\n1389090)789";var regex1 /\((.?)\)/g; // () 小括号var regex4 /\((\n.?)\)/g; // (\n) 小括号var regex2 /\[(.?)\]/g; // [] 中括号var regex3 /\{(.?)\}/g; // {} 花括号,大括号// 输出…

通过shell将*.txt文本内容批量录入mysql
想将某*.txt文本内容全部录入到mysql的某个数据表中,通过使用load data local infile into table table_name ....但感觉用的不够溜、导致经常格式有问题,很难达到我要的效果。。 所以,自己想了下,最后通过shell成功将批量数据导入…

String、StringBuilder、StringBuffer的比较
最近学习中又遇到了StringBuilder,突然就联想到StringBuffeer和String。于是翻翻笔记还在。那么他们有什么区别? 1.StringBuilder与StringBuffer StringBuilder:线程非安全,一般在单线程中操作字符串缓冲区使用,速度最…

Autojs自动化 实现自动删除公众号文章(通过订阅号助手删除)
设备 小米9 效果 autojs1autojs2代码 UI "ui"; const storage storages.create("dinyue"); auto()var search_value if(storage.contains(search_value)){search_value storage.get(search_value) }ui.layout(<vertical padding"30">…

[转]Java中常用的集合—初学者的你不可错过的精编整理
集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!…

通过tinyxml解析百度热词榜单
百度热词榜单 初学TinyXml,盯上了解析百度热词榜单。通过curl获取rss地址上的数据。 由于TinyXml不支持,所以要转换为UTF-8格式,命令为 iconv -f gb2312 -t utf-8 baidutop.xml > baidutop.xml 写得很烂,写的时候,心…

台湾MCI报告:Security SaaS风潮渐起
这篇文章是台湾产业情报研究所(MCI)在2008年所作的一份有关Security-as-a-Serivce(Security SaaS,为了区别Software-as-a-Serivce,特称呼为Security SaaS)的报告。这里有该文章的繁体版下载。这份报告引用了…

由“公共类”看出的一些东西
如果一个类想要被其他类引用,即使是在同一个命名空间下,也要是public,才能被引用。同样,如果想让别人交流,首先自己应该先要“开放”。转载于:https://www.cnblogs.com/HuShaoyi/p/8503708.html

H-ui 前端框架
H-ui 前端框架 架起设计与后端的桥梁轻量级前端框架,简单免费,兼容性好,服务中国网站。 首个付费版产品 H-ui.admin.Pro,盘他!转载于:https://www.cnblogs.com/Jeely/p/11051079.html

使用.NET FileSystemWatcher对象监控磁盘文件目录的改变
原文(英文):http://www.techrepublic.com/article/use-the-net-filesystemwatcher-object-to-monitor-directory-changes-in-c/6165137 许多情况下,如果创建或修改一个文件,系统需要执行某些任务。例如,在一…
前端使用crypto.js进行加密学习记录
因为我的需求是加密可逆,具有一定的安全性(对安全性要求不高),所以使用DES或AES即可,我用的是AES js下载 下载 Nodejs后端:对用户密码进行加密 - WJY- - 博客园Nodejs后端 对用户密码进行加密 使用 bcryptjs 插件对用户密码进行…

Exchange笔记之使用OWA加密访问邮箱
Exchange笔记之使用OWA加密访问邮箱 OWA是什么?呵呵,应该用惯Exchange的用户来说都知道,我在这里简单说下:OWA是一种给予Exchange客户端的一种B/S结构访问方式。OWA是Outlook Web Access的缩写,OWA在我们平时使用的时候…

LInkedHashMap实现最近被使用(LRU)缓存
在最近的面试中,我曾被多次问到,怎么实现一个最近最少使用(LRU)的缓存。缓存可以通过哈希表来实现,然而为这个缓存增加大小限制会变成另一个有意思的问题。现在我们看一下怎么实现。 最近最少使用缓存的回收 为了实现缓…
2019年9月2日开学!寒假时间也定了……
原文: https://mp.weixin.qq.com/s/Dns-ucDwuDeR7lNSlibyAA 放假通知 今年7月1日放暑假 9月2日开学 今天,省教育厅发布通知,2019年全省中小学幼儿园暑期放假时间统一为7月1日,秋季开学时间9月2日。2020年寒假放假时间为1月18日&am…

Vue 增加动态路由功能 【在原有系统上增加】
目录 遇到问题 1. 修改router/index.js 2. 修改 store文件夹下的 2.1 增加 modules/permission.js 2.2 增加modules/tagsViews.js 2.3 修改modules/user.js 2.4 修改getter.js 2.5 修改index.js 遇到问题 1.当出现循环刷新页面,不断进行请求时,检查配…

读取 android的内存、cpu、流量等 信息
内存总量:/proc/meminfocpu信息:/proc/cpuinfocpu使用率:/proc/stat流量信息:/proc/self/net/dev /proc/net/devetc/network/interfaces 这个文件是保存ip,netmask,gateway信息的(包括静态和动态)ÿ…

CCNA基础知识汇总
本资源是本人学习的过程中的一些笔记和学习中用到的文档。主要包括ospf,ppp,ACL与策略路由,帧中继,***方面。希望能对大家CCNA的学习有所帮助。下载地址:http://down.51cto.com/data/128047 转载于:https://blog.51cto…

PHP面试内容 整理搜集 PHP面试涉及技术 一文回顾全部 主要含PHP面试命令列表 方法列表...
PHP面试时常涉及的内容总结 熟悉框架 逻辑题 快排 正则 数组函数....抽奖, 秒杀数据库 优化,sql书写缓存 redis mecacheLinux命令其他技术 sphinx, swool 异步处理,(同步异步 分布式)其他语言 Java python(多线程 爬虫) go c(一般温个别的)PHP7新特性 整理制作 https://www.cn…

Python 文件 close() 方法
描述 Python 文件 close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。 当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用…

校园音乐点歌平台的设计与开发 微信小程序 推荐点歌 java 开发
1、 微信小程序前台展示 (基于协同过滤算法 根据用户点歌行为 对用户点歌进行推荐) 2 、 使用到的技术框架 Springbootmavenmybatis网易云相关API 3、 后台展示 项目地址: 项目地址