数据库SQL语句的update如何使用关联表更新
1、创建一个临时表,用于演示sqlserver语法中update更新修改使用方法IF OBJ苇质缵爨ECT_ID('tempdb..#tblUp颊俄岿髭date') IS NOT NULL DROP TABLE #tblUpdate;CREATE TABLE #tblUpdate( Code varchar(50), Num int, Price int, Total int );
2、创建另外一个临时表,用于演示如何将一个临时表的数据更新到另外一个临时表IF OBJECT_ID('tempdb..#tblTotal') IS NOT NULL DROP TABLE #tblTotal;CREATE TABLE #tblTotal( Code varchar(50), Total int );
3、往临时表中插入几行测试数据,其中的哌囿亡噱Total栏位都不插入值insert into #tblUpdate(Code, Num, Price) values('Cod髫潋啜缅e1', 30, 1);insert into #tblUpdate(Code, Num, Price) values('Code2', 40, 2);insert into #tblTotal(Code) values('Code1');insert into #tblTotal(Code) values('Code2');
4、查询临时表中的测试数据select * from #tblUpdate;select * from #tblTotal;
5、使用update更新临时表#tblUpdate中的Total结果,假设Total = num * priceupdate #tblUpdateset Total = Num * Price
6、再次查询临时表#tblUpdate的结果,可以看到之前为NULL的Total列都有值了select * from #tblUpdate;
7、如果要将临时表#tblUpdate的total栏位值,更新到临时表#tblTotal对应的total栏位,就可以使用下面的方式update tset t.Total = u.Totalfrom #tblTotal tleft join #tblUpdate u on u.Code = t.Code
8、查询更新后的结果,可以看到两个临时表中Code相同的记录,total值也相同了select * from #tblUpdate;select * from #tblTotal;