作者:倚栏听风 | 来源:互联网 | 2023-10-11 04:43
摘要
Update From 用法
今天遇到用一个表的字段填充另一个表的问题,整理了一下
1、在mysql中,应该使用inner join,即:
UPDATE a
INNER JOIN b
ON a.userName = b.userName
SET a.password = b.password
2、在sqlserver中,应该使用update set from 即:
UPDATE a
SET userName = b.userName
FROM a, b
WHERE a.userId = b.userId
3、在 oracle 中不存在 update from 结构, 所以遇到需要从另外一 个表来更新本表的值的问题的时候,
有两种解决的办法 :
一种是使用子查询: 使用子查询时一定要注意where 条件 ( 一 般后面接 exists 子句 ) , 除非两个表是一一对应的,
否则 where 条件必不可少,遗漏掉 where 条件时可能会导致插入大量空 值。
另外一种是类视图的更新方法:这也是 oracle 所独有的。先 把对应的数据全部抽取出来,然后更新表一样更新数据,
这 里需要注意的是,必须保证表的数据唯一型。
注意:
Oracle中是不支持update:From这样的句子的,MySql和SqlServer是支持的但也有区别。
除非注明,否则均为@蒲公英网原创文章,转载必须以链接形式标明本文链接