用表B的数据(B1列,B2)更新表的A1, A2列
SQL服务器:
<代码>更新一套。A1=b.B1 A.A2=B。A2的A, B, A。ID1=B。ID1和。ID2=B.ID2; 代码>
访问:
<代码>更新A、B组。A1=B.B1 A.A2=B。B2,。ID1=B。ID1和。ID2=B.ID2; ——或 更新一个内连接B上。ID1=B。ID1和。ID2=B。ID2设置。A1=B.B1 A.A2=B.B2; 代码>
通过一条SQL语句一次更新多条数据. SQL语句写法略有不同,如下:
方法一:
<代码>更新T1 集直流=(从t2选择dc1 T1.A=t2。A1和T1.B=T2.B1) 在T1。帮助( 从T1选择援助 内连接T2 t1.A=T2。A1和T1.B=T2.B1 )代码>
注:在我标我红色的在地方如果把在“换成‘=龅拇?但在下面的B种写法里就可以换成‘=?变成C方法写法。
方法二:
<代码> 更新T1 集直流=(从t2选择dc1 T1.A=t2。A1和T1.B=T2.B1) 在T1。帮助( 选择T1。T2的援助 t1.A=T2。A1和T1.B=T2.B1 )代码>
方法三:
<代码>更新T1 集直流=(从t2选择dc1 T1.A=t2。A1和T1.B=T2.B1) 在T1。援助=( 选择T1。T2的援助 t1.A=T2。A1和T1.B=T2.B1 )代码>
方法四:
<代码>更新T1 集直流=(从T2选择dc1 T1.A=T2。A1和T1.B=T2.B1) 在T1。=( 选择T1。一个从T2 T1.A=T2。A1和T1.B=T2.B1 )代码>
方法五:
<代码>更新T1 集直流=(从T2选择dc1 T1.A=T2。A1和T1.B=T2.B1) 在T1。=( 选择T2。从T2 A1 T1.A=T2。A1和T1.B=T2.B1 )代码>
方法六:
<代码>更新T1 集直流=(从T2选择dc1 T1.A=T2。A1和T1.B=T2.B1) 在T1。在( 选择T2。从T2 A1 T1.A=T2。A1和T1.B=T2.B1 )代码>
注:如果在上面方法改写成如下的写法将会出错。
<代码>更新T1 集直流=(从T2选择dc1 T1.A=T2。A1和T1.B=T2.B1) 在T1。在( 选择T1。一个从T1 内连接T2 t1.A=T2。A1和T1.B=T2.B1 )代码>
此种方法将会更新掉所有符合T1。在()这个条件的数据,所以是不正确的,所以不能这样写。
方法七:
<代码>更新T1 集直流=(从T2选择dc1 T1.A=T2。A1和T1.B=T2。B1和T1.DC=T2.DC1) 从T1, T2 T1.A=T2。A1和T1.B=T2.B1 代码>
方法八:
<代码>更新T1 设置T1.dc=T2.dc1 从T1 内连接T2 T1.A=T2。A1和T1.B=T2.B1 t1.A=T2。A1和T1.B=T2.B1 代码>
方法九:
<代码>更新T1 设置T1.dc=T2.dc1 从T1, T2 T1.A=T2。A1和T1.B=T2.B1 代码>
请特别注意以上方法中我用红色标记上的代码写法。
总节:虽然是一条简单的更新语名但也有多种写法,且每种写法各有优缺点。
大家是否还有更简单的写法或者更容易理解的写法?如果有请提出来一起讨论,谢谢!
说明测试环境:以上代码在MSSQL2005中验证是可行的。
注:此处我用灰色标记的部分可以去掉。