SQL多表更新Update

有如下两张表:apply和applydetails,两表以applyNo相关联。

apply
列名 类型
applyNo varchar
applyDate datetime
state varchar
applydetails
列名 类型
applyNo varchar
idcard varchar
name varchar
state varchar

  

1)将applyNo为“0001”的表apply和applydetails中的state值都更新为“1”;

MySQL:

1 UPDATE apply t1, applydetail t2
2 SET t1.state='0', t2.state='0'
3 WHERE t1.applyno=t2.applyno AND t1.applyno='0001' AND t2.applyno='0001';

2)将idcard为“2120141021003731”的表apply和applydetails中的state值都更新为“1”;

MySQL:

1 UPDATE apply t1, applydetail t2
2 SET t1.state='1', t2.state='1'
3 WHERE t1.applyno=t2.applyno AND t2.idcard='2120141021003731';

注:以上SQL语句只在MySQL5.5中执行通过了,在SQL Server和Oracle不知道是否可以执行,待测试。

原文地址:https://www.cnblogs.com/KnightKitt/p/4039301.html