云服务器网:购买云服务器和VPS必上的网站!

MSSQL批量更新多表间关联数据

MSSQL批量更新多表间关联数据
MSSQL在开发进程中常常有需求来更新多表间关联数据,本文将介绍一种比较常采取的方案来实现MSSQL数据库中多表间批量数据更新操作。
首先我们将创建一组用于寄存数据的表,比如:
~~~sql
create table Tabl

MSSQL批量更新多表间关联数据

MSSQL在开发进程中常常有需求来更新多表间关联数据,本文将介绍一种比较常采取的方案来实现MSSQL数据库中多表间批量数据更新操作。

首先我们将创建一组用于寄存数据的表,比如:

~~~sql

create table Table_A(

ID int,

Name varchar(20),

Country varchar(20),

CreateTime datetime

)

create table Table_B(

ID int,

Score int,

Name varchar(20),

Country varchar(20)

)

~~~

这两张表中共同有`Name`,`Country`字段,说明存在数据相关性,我们现在要完成的操作是更新`Table_B`的`Score`字段,根据`Table_A`的`CreateTime`字段。

这里我们通过MSSQL`UPDATE`语句来实现:

~~~sql

update Table_B

set Score=t.Score

from Table_B b

inner join (select sum(Score) as Score,Name,Country from Table_A

group by Name,Country,CreateTime) as t

on b.Name = t.Name and b.Country=t.Country

~~~

这条语句利用内连接,将`Table_B`与`Table_A`关联,`Table_A`中`Score`字段按`Name`,`Country`字段Group by 进行合计,最后更新`Table_B`中的`Score`字段。经过这条语句后,`Table_B`的中`Score`字段将已更新终了。

上述的例子中,我们使用的是内连接的方式,只关联了`Table_B`与`Table_A`,实际利用中,如果有多表存在关联,也能够采取类似的思路进行操作。

总的来讲,MSSQL的更新操作很方便,如果批量更新多表间关联数据,我们可以采取上文提到的SELECT-UPDATE-JOIN语句进行按需处理。

本文来源:https://www.yuntue.com/post/101936.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注