update语句用法2张表(两张表A、B,现在要把A表的a字段,全部更新到B表的b字段,两个表有共同字段C,请问这个update语句怎么写)

本文目录
- 两张表A、B,现在要把A表的a字段,全部更新到B表的b字段,两个表有共同字段C,请问这个update语句怎么写
- 使用 sql语句 update 实现更新两张表的数据
- SQL语句,两个表格之间使用UPDATE
- Oracle 关联两表写update语句
- update 更新多个表 SQL
两张表A、B,现在要把A表的a字段,全部更新到B表的b字段,两个表有共同字段C,请问这个update语句怎么写
楼主这语句有bug,这种修改如果在B表中的数据在A表中没有就会把B表的这些数据改为空,若原来是空的还好,若不是空的就相当于把数据删除了,这是其一。根据你说的报查询返回多行来看,是出现了在a表中的c字段的值有重复,该更新为一对一更新所以他不知道你要更新为a表中那多个值的那个值,于是就报了那么一个错误,举例说明就是 如a.c有同一个值有两条记录,比如:小二:77(a:c)和 小三:77(a:c)这样他就不知道你是要把b中的b改为小二还是小三就报了那么一个错。
数据少的话可以关联查询出来(要保证一对一)然后将a的a复制到b的b那列,
多的话写存储过程,或者
update B set b=(select a from A where A.c=B.c)
where b.c in (select a.c from a)
--这个语句先测试,再操作,避免出现问题
--语句保证是1对1,通常加条件,在记录相同的情况下可以选择第一条,这个对应数据库有对应函数与方法实现
;
使用 sql语句 update 实现更新两张表的数据
update 表2 set fname=’xxxx’ where parentid=(select parentid from 表1 where menuid=传入的menuid);
commit;
SQL语句,两个表格之间使用UPDATE
这个是查询语句,一般根据查询语句修改为update语句
select B.s
from A
join B on A.t1=B.t1 and A.t2=B.t2
where A.t1=3
and A.t3=’LL’
更新语句为
update B set B.s=’广州’
from A
join B on A.t1=B.t1 and A.t2=B.t2
where A.t1=3
and A.t3=’LL’
方式是将select B.s 替换成update B set B.s=’广州’
Oracle 关联两表写update语句
两种方法:
-- 方法1.
UPDATE 表2
SET
表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A)
WHERE
EXISTS ( SELECT 1 FROM 表1 WHERE 表1.A = 表2.A)
-- 方法2
MERGE INTO 表2
USING 表1
ON ( 表2.A = 表1.A ) -- 条件是 A 相同
WHEN MATCHED THEN UPDATE SET 表2.C = 表1.B -- 匹配的时候,更新
update 更新多个表 SQL
update 好像是不能同时更新两个表的
楼主想同时更新这两个表而采用单个更新是因为2个表的约束关系
其实还有一个办法
就是先把两个表的约束关系都停用了
然后用2条语句将2个表分别更新,更新完了以后再启用两个表的约束关系就可以了

更多文章:
能直接使用的jsp网站代码(在JSP页面上写代码直接生成一个.txt文件)
2026年1月22日 21:45
excel表格choose函数怎么用(Excel中Choose函数怎么用)
2025年10月20日 08:30
reference 4(essay reference写作格式是什么要怎么写才规范)
2025年10月24日 04:45
android 页面布局设计(华为mate9手机系统升级为安卓8.0后主界面布局会改变吗)
2026年1月3日 20:30
sorting的意思中文翻译(sorting hat是什么意思)
2026年7月17日 03:15
compare to和(compare to与compare with的区别是什么)
2026年4月6日 06:00
edittext下划线颜色(android 如何使EditText中不同行显示不同的颜色(两种颜色))
2026年5月15日 11:30
marginnote3手机和ipad同步(怎么同步手机上app到ipad 如何同步手机上app到ipad)
2025年8月30日 09:15
asp网站内网可以打开外网打不开(单位网站在内网输入IP可以打开,但在外网却打不开,是什么原因)
2026年3月8日 12:45











