Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >仅当值发生更改时更新值

仅当值发生更改时更新值
EN

Stack Overflow用户
提问于 2021-01-17 10:58:46
回答 1查看 31关注 0票数 0

我必须从另一个表更新main_table数据。下面是语句

根据type_key,我们将在value_string、行中的value_date或关键字中的任何一列中都有值。(例如,如果type_key是字符串,则value_string将具有值,而value_date为null)。有一个触发器确保了这个约束。

代码语言:javascript
运行
AI代码解释
复制
update main_table t set
    value_string=value_string,
    value_date=value_date,
    value_int=value_int,
    updated_on=now(),
    status=status
from import_table imp where t.key=imp.key

即使value_string或value_date的值没有变化,updated_on也会发生变化。我希望只有在值发生变化时才更新updated_on。因此,我将update query更改为以下内容

代码语言:javascript
运行
AI代码解释
复制
update main_table t set
    value_string=value_string,
    value_date=value_date,
    updated_on= (case when type_key='string' and t.value_string!=imp.value_string 
                    then now()
                 when type_key='date' and t.value_date!=imp.value_date 
                    then now()
                 when type_key='int' and t.value_int!=imp.value_int
                    then now()
                else updated_on end),
    status=status
from import_table imp where t.key=imp.key

有没有更好的方法来重写上面的查询来提高查询性能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-18 07:45:09

我将添加一个WHERE条件,该条件仅在至少有一个值不同时才更改行。

代码语言:javascript
运行
AI代码解释
复制
update main_table t 
 set
    value_string = imp.value_string,
    value_date = imp.value_date,
    value_int = imp.value_int,
    updated_on = now(),
    status = imp.status
from import_table imp 
where t.key = imp.key
  and (   t.value_string is distinct from imp.value_string
       or t.value_date is distinct from imp.value_date
       or t.value_int is distinct from imp.value_int
       or t.status is distinct from imp.status);

或者,您可以将其编写为

代码语言:javascript
运行
AI代码解释
复制
where t.key = imp.key
  and (t.value_string, t.value_date, t.value_int, t.status) 
      is distinct from (imp.value_string, imp.value_date, imp.value_int, imp.status);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65759785

复制
相关文章
腾讯地图JavaScript API GL实现文本标记的碰撞避让
本文主要是总结一下web页面中的旋转矩形的碰撞检测,碰撞算法本身并不难,只是需要注意web坐标系在计算中的影响。碰撞检测应该是在游戏等场景中很常见且基础的功能,本文记录了在JavaScript API GL遇到了这类碰撞问题的调研和实现的过程。
腾讯位置服务
2020/07/10
1.6K0
HTML图像标记和CSS入门(二)
3.1 font-size 字号大小 它的属性用于设置字号 相对长度 em px 最常用,推荐使用 3.2 font-family 字体 它的属性用于设置字体
默默的成长
2022/10/29
1.5K0
HTML图像标记和CSS入门(二)
HTML图像标记和CSS入门(一)
1.图像标记 1.1 <img src="图像URL“/> src指定图像文件的路径和文件名,它是img标记的必需品。 1.2 文本属性 alt :在图像无法显示时告诉用户该图片的内容。 1.3 图像的宽高属性 width,height 两者不能同时使用 1.4 图像的边框的属性 border :可以为图像添加边框,设置边框的宽度,但边框颜色的调整仅仅通过HTML属性时不能通过的。 1.5 图像的边距属性 vspace 和hspace 1.6图像的对齐方式用align表示 2.相对路径和绝对路径 1.绝对路径 绝对路径一般是指带有盘符的路径
默默的成长
2022/10/29
2.2K0
android 高德地图标记,android学习之高德地图添加标记
draggable 如果您允许用户可以自由移动标记,设置为“ true ”。默认情况下为“ false ”。
全栈程序员站长
2022/08/31
1.8K0
高德地图自定义点标记大小_高德地图标注点点击事件 自定义参数
if (!provinces || provinces.length == 0) {
全栈程序员站长
2022/08/25
7830
HTMl网页中的文本和图像
JaneYork
2023/10/11
3010
高德地图——标记「建议收藏」
标记显示地图上的单一位置。它可以使用一个标准的图标,也可以由开发 者自定义图标。您可以通过 AMap.addMarker(MarkerOptions Options) 方 法将一个标记添加到地图上。 MarkerOptions属性有: • position(Required) 在地图上标记位置的经纬度值。 参数不能为空。 • title 当用户点击标记,在信息窗口上显示的字符串(测试发现,点击没有任何效果)。 • snippet 附加文本,显示在标题下方(测试发现,点击没有任何效果)。 • draggable 如果您允许用户可以自由移动标记,设置为“true ” ,默认情况下为“false ” 。 • visible 设置“false ” ,标记不可见。 • anchor图标摆放在地图上的基准点。 • perspective设置 true,标记有近大远小效果。 • 可以通过Marker.setRotateAngle() 方法设置标记的 旋转角度,从正北开始,逆时针计算。
全栈程序员站长
2022/08/31
2.5K0
高德地图——标记「建议收藏」
为鼠标右键增加「此处打开命令窗口」
程序员最常用的工具就是终端了,而最实用的功能就是如何在某个目录下,快速的进入终端,以便对该目录的文件做一些处理,本文分享一下如何在 Mac 和 Windows 下实现这个功能。
somenzz
2021/12/16
1.9K0
为鼠标右键增加「此处打开命令窗口」
Markdown文本标记语言初识
一直听说用Markdown写博文挺方便的,也一直没有在意,然而最近在用jupyter的时候突然发现jupyter是自带Markdown的,这让没用过的我很是尴尬。而且后来在网上翻博客的时候,发现“简书” 上的博客格式都非常漂亮,特别是层次非常清楚,排版也和工整,后来才知道这个就是用markdown写的。于是我也萌生了一个用markdown写文章的想法。 当然在这之前,肯定要了解下markdown的语法什么的。
mythsman
2022/11/14
3450
HTML常用文本标记,超级链接和路径描述
在body标记里写的文本内容会直接显示在页面上,但是这样直接写文本内容的方式不太好。我们在html里写文本内容的时候尽量使用标记套住内容,类似于声明这是一个文本、体现特征,在爬取数据的时候也就可以方便的通过标记来抓取或过滤指定的数据,所以需要我们学习一些常用的文本标记。
端碗吹水
2020/09/23
2K0
HTML常用文本标记,超级链接和路径描述
echarts中国地图如何标记散点图[通俗易懂]
工作中会遇到echarts在地图上面标记点位,后端数据传给城市名和坐标轴给你以后,如何添加到echarts上面渲染呢 echarts需要的数据 例子
全栈程序员站长
2022/11/10
3K0
echarts中国地图如何标记散点图[通俗易懂]
Scala的自定义类型标记
Scala中有很多千奇百怪的符号标记,看起来是那么的独特,就像是一杯dry martini...好像黑夜中的萤火虫,那么耀眼,那么出众。
程序那些事
2020/07/08
8640
SAP MM 带有’Return’标记的STO,不能创建内向交货单?
The current version of ERP does not support Stock Transport Order returns as standard with Logistics execution; it is not possible to automatically or manually create an inbound delivery against a Stock Transport Order which has the ‘return’ indicator ticked.
SAP虾客
2021/01/09
7660
腾讯位置服务地图SDK自定义地图和路况
1)、首先,登录到腾讯地图管理控制台,然后进入个性化地图里面,随便找一个模板,选择编辑样式:
腾讯位置服务
2020/11/27
1.2K0
关于在数据库中分页的问题,此处以sqlServer为例
--sqlserver :数据库分页 --int pageSize//每页多少条数据 --int pageNow=1 //当前页,默认为1 --假如每页为10条 --pageSize=10 --按照以下规则进行拼接sql --FILED是你要排序的表中的列,Table是你要查询的表 select top(pageSize) * from (select *,row_number()over(order by FIELD desc)AS num from TABLE)a where a.nu
用户1215919
2018/02/09
5770
CVPR 2020 | 眼见为虚:利用对抗文本图像攻击场景文本识别模型
本文简要介绍CVPR2020录用论文“What Machines See Is Not What They Get: Fooling Scene Text Recognition Models with Adversarial Text Images”的主要工作。该论文针对目前主流的场景文字识别(STR)模型,提出了一种高效的基于优化的对抗攻击方法。这是对抗攻击在场景文本识别模型中的首次尝试和研究。实验证明,该方法在7个真实数据和2个生成数据上大大降低了STR模型的识别性能,并成功攻击了百度OCR的识别引擎。
Amusi
2020/06/29
2.6K1
CVPR 2020 | 眼见为虚:利用对抗文本图像攻击场景文本识别模型
高德地图标记点要注意的问题
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143607.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/26
8800
高德地图标记点要注意的问题
SAP MM 带有'Return'标记的STO,不能创建内向交货单?
The current version of ERP does not support Stock Transport Order returns as standard with Logistics execution; it is not possible to automatically or manually create an inbound delivery against a Stock Transport Order which has the 'return' indicator ticked.
SAP虾客
2021/03/01
7850
HTML布局标记和列表标记
首先要介绍的布局标记是div标记,div可以做网页的层也可以做网页的分区。当div做网页的层时可以实现漂浮在网页上的效果,就像我们经常可以在网站里看见的那些漂浮广告。div做网页的分区时,则是可以布置网页的格局,把一个网页分为多个模块,由这些模块结构来构建出一个网页。
端碗吹水
2020/09/23
4.2K0
HTML布局标记和列表标记
以TS1131为例子讲述InTouch批量创建标记、标记名导入和导出
InTouch 提供了两个 “标记名字典”实用程序:DBDump 和 DBLoad。
剑指工控
2021/11/08
5.2K0
以TS1131为例子讲述InTouch批量创建标记、标记名导入和导出

相似问题

将图表表示为地图标记-此处地图

11

带有超文本标记语言图像地图的JQuery

20

在此处显示标记旁边的文本-地图Android sdk。

215

带有自定义标记的Android地图(标记上的文本)

29

使用此处地图的基于文本/地址输入的标记更改

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档