浅谈Oracle与SQL Server对Update语句的处理
2023-03-31 11:08:22 时间
在数据库操作中,我们经常使用Update语句对表进行修改、更新等。但是不同的数据库在对Update语句的处理过程可能也是不同的。本文我们主要介绍一下Oracle和SQL Server在处理Update语句时的不同,接下来就让我们来一起学习一下吧。
Oracle和SQL Server对Update语句的处理是不同的。同样的写法执行出来的结果会不一样,如果你使用惯了Oracle的话,你需要注意下。在复杂的Update语句中,Oracle一般用子查询来实现。比如:
- update table1 t1
- set c1=(select t2.c1 from table2 t2 where t1.c2=t2.c2)
当然,如果单纯的将该语句复制到sqlserver 中运行的话会提示语法错误:
行一出现语法错误
这个时候你可能会想既然不支持别名的话,直接用表名好了,修改语句为:
- update table1
- set c1=(select t2.c1 from table2 t2 where table1.c2=t2.c2)
这个语句确实在sqlserver中能运行,如果你真的运行了它,你就会悲剧了。因为table1中所有的记录都被更新过,而且一部分本不需要更的记录被更新成了null,而不是像oracle中只对符合子查询的记录进行更新。sqlserver中怎么来对这种情况进行更新的呢?答案是update from。
在sqlserver中要正常对这种情况进行处理的话,需要将上述sql语句进行修改,修改后的sql如下:
- update table1
- set c1=t2.c2
- from table2 t2
- where c2=t2.c1
关于Oracle与SQL Server对Update语句的处理过程就介绍到这里,希望本次的介绍能够带给您一些收获!
【编辑推荐】
相关文章
- 帮助贵公司搞定大数据的七个工具
- 一文读懂Hadoop、HBase、Hive、Spark分布式系统架构
- 一切尽在大数据
- 数据分析师的能力和工具体系
- 大数据之父舍恩伯格:大数据的核心要义在于共享
- 常用大数据术语一览表
- 大数据背后的神秘公式(下):“贝叶斯革命”
- 大数据背后的神秘公式(上):贝叶斯公式
- 大数据入门的四个必备常识
- Hadoop的过去、现在和未来
- 数据挖掘的常用方法、功能和一个聚类分析应用案例
- 让Spark如虎添翼的Zeppelin – 基础篇
- 你必备的39个大数据可视化工具
- 解密IFTTT的数据架构
- 大数据同步工具DataX与Sqoop之比较
- WOT2016 郭炜:如何巧用数据在移动创业的红海中突围
- 什么是数据科学?如何把数据变成产品?
- 基于用户的协同过滤是怎么推荐电影的?
- 一文看懂网络爬虫
- 网络爬虫基本原理(一)