怎么update多个表的值
如何update多个表的值
表 tpm
cid N1 N2 N3
1 NULL 3 1
2 NULL 2 0
表 SNO
cid CNO
1 5
2 1
我用这个语句 红色部分总是出错:
update tpm set N1=N2-N3,CNO=(N2-N3)
from
SNO S join tpm t on S.MATNR=t.MATNR
where (N2-N3)>=CNO
------解决方案--------------------
没办法一次更新多个表的值,只能一个表一个表的更新
------解决方案--------------------
------解决方案--------------------
delete和update同一时刻只能影响一个表,不能同时update,必须分开
------解决方案--------------------
------解决方案--------------------
不能一次更新2个表的,只能一个一个更新!
------解决方案--------------------
要同步用transaction,update语句不能一次更新两个表
------解决方案--------------------
使用tran建立事务
就可以保证同时更新两个表
begin tran
update tb1
update tb2
commit
表 tpm
cid N1 N2 N3
1 NULL 3 1
2 NULL 2 0
表 SNO
cid CNO
1 5
2 1
我用这个语句 红色部分总是出错:
update tpm set N1=N2-N3,CNO=(N2-N3)
from
SNO S join tpm t on S.MATNR=t.MATNR
where (N2-N3)>=CNO
------解决方案--------------------
没办法一次更新多个表的值,只能一个表一个表的更新
------解决方案--------------------
update tpm set N1=N2-N3
from
SNO S join tpm t on S.cid=t.cid
where (t.N2-t.N3)>=S.CNO
------解决方案--------------------
delete和update同一时刻只能影响一个表,不能同时update,必须分开
------解决方案--------------------
update s set s.CNO=(t.N2-t.N3)
from SNO S
join tpm t on S.MATNR=t.MATNR
where (N2-N3)>=CNO
------解决方案--------------------
不能一次更新2个表的,只能一个一个更新!
------解决方案--------------------
要同步用transaction,update语句不能一次更新两个表
------解决方案--------------------
使用tran建立事务
就可以保证同时更新两个表
begin tran
update tb1
update tb2
commit