
两表关联更新用如下方法。
有以下两张表:
根据test2表中的id和test1表中的id关联,修改test1表中name字段,语句如下:
update test1 a set a.name=(select b.name from test2 b where a.id=b.id) where a.id in (select id from test2)
更新后,test1表中结果:
一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新。而表的更新 *** 作中,在很多情况下需要在表达式中引用要更新的表以外的数据。我们先来讨论根据其他表数据更新你要更新的表一、MSSQLServer 多表关联更新
sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式 中引用要更新的表以外的其它数据。
一般形式:
update A SET 字段1=B表字段表达式, 字段2=B表字段表达式 from B WHERE逻辑表达式
例如:
UPDATE dbo.Table2
SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
FROM dbo.Table2
INNER JOIN dbo.Table1
ON (dbo.Table2.ColA = dbo.Table1.ColA)
实际更新的 *** 作是在要更新的表上进行的,而不是在from子句所形成的新的结果集上进行的
dsstugrade.Tables[0].row[i]['columnName']=你要更新的数据。这样你的DataSet中的Table的数据就变了,但是你要在画面上显示出来的话肯定是要刷新的,重新绑定一次应该可以。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)