●●●●●●●●一句Sql修改语句●●●●●●●● ---在线!

时间:2021-12-20 15:07:42
求一句sql修改语句
有2个表: A表,B表,
修改B中一个叫b的字段,b的值是由A表中a字段的值构成的,比如 :  ttt,yyy,uuu, 这样的

如下图:
A

ID a
1 tttt
2 yyy
3 uuu



ID IDs b
1 1,2,3, ttt,yyy,uuu,



现在我要把A表中叫ttt的修改成tttttt.
怎么样也把B表中也修改.
改成tttttt,yyy,uuu,




6 个解决方案

#1


直接update

#2



update t set a=replace(a,'ttt','tttttt') from A t

update t set b=replace(b,'ttt','tttttt') from B t

#3


我的意思是用一句SQL语句,
就是在修改A表的时候,同时把B表中的也修改了

#4


而且请你仔细看看,我B表中字段的值是什么,我只想修改它其中一段,不是整个字段的值

#5


引用 3 楼 hyy567 的回复:
我的意思是用一句SQL语句, 
就是在修改A表的时候,同时把B表中的也修改了

 
很不幸的說:一句sql還不能修改兩個表
要么你用兩句,要么你用觸發器;
  
引用 4 楼 hyy567 的回复:
而且请你仔细看看,我B表中字段的值是什么,我只想修改它其中一段,不是整个字段的值



update t set b=replace(b,'ttt','tttttt') from B t



update t set b= 'tttttt'  from B t

這兩種寫法有什么不同你運行一下就知道

#6


update A set a='tttttt' union all update B set b=replace(b,select a from A where ID=1,'tttttt') where (select select a from A where ID=1) in IDs

#1


直接update

#2



update t set a=replace(a,'ttt','tttttt') from A t

update t set b=replace(b,'ttt','tttttt') from B t

#3


我的意思是用一句SQL语句,
就是在修改A表的时候,同时把B表中的也修改了

#4


而且请你仔细看看,我B表中字段的值是什么,我只想修改它其中一段,不是整个字段的值

#5


引用 3 楼 hyy567 的回复:
我的意思是用一句SQL语句, 
就是在修改A表的时候,同时把B表中的也修改了

 
很不幸的說:一句sql還不能修改兩個表
要么你用兩句,要么你用觸發器;
  
引用 4 楼 hyy567 的回复:
而且请你仔细看看,我B表中字段的值是什么,我只想修改它其中一段,不是整个字段的值



update t set b=replace(b,'ttt','tttttt') from B t



update t set b= 'tttttt'  from B t

這兩種寫法有什么不同你運行一下就知道

#6


update A set a='tttttt' union all update B set b=replace(b,select a from A where ID=1,'tttttt') where (select select a from A where ID=1) in IDs