在数据库的操作中,更新数据,是很常见的环境。好比,明细表中稀有量和单价栏位,想要更新到金额栏位,以及将总金额汇总到合计表中去,都需要利用update语句
建立一个姑且表,用于演示sqlserver语法中update更新点窜利用方式
IF OBJECT_ID('tempdb..#tblUpdate') IS NOT NULL DROP TABLE #tblUpdate;
CREATE TABLE #tblUpdate(
Code varchar(50),
Num int,
Price int,
Total int
);
建立别的一个姑且表,用于演示若何将一个姑且表的数据更新到别的一个姑且表
IF OBJECT_ID('tempdb..#tblTotal') IS NOT NULL DROP TABLE #tblTotal;
CREATE TABLE #tblTotal(
Code varchar(50),
Total int
);
往姑且表中插入几行测试数据,此中的Total栏位都不插入值
insert into #tblUpdate(Code, Num, Price) values('Code1', 30, 1);
insert into #tblUpdate(Code, Num, Price) values('Code2', 40, 2);
insert into #tblTotal(Code) values('Code1');
insert into #tblTotal(Code) values('Code2');
查询姑且表中的测试数据
select * from #tblUpdate;
select * from #tblTotal;
利用update更新姑且表#tblUpdate中的Total成果,假设Total = num * price
update #tblUpdate
set Total = Num * Price
再次查询姑且表#tblUpdate的成果,可以看到之前为NULL的Total列都有值了
select * from #tblUpdate;
若是要将姑且表#tblUpdate的total栏位值,更新光临时表#tblTotal对应的total栏位,就可以利用下面的体例
update t
set t.Total = u.Total
from #tblTotal t
left join #tblUpdate u on u.Code = t.Code
查询更新后的成果,可以看到两个姑且表中Code不异的记实,total值也不异了
select * from #tblUpdate;
select * from #tblTotal;
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!