将列更新从一个表传递到另一个表

2016-01-29 16:19 9 1 收藏

将列更新从一个表传递到另一个表,将列更新从一个表传递到另一个表

【 tulaoshi.com - SQLServer 】

 

问:怎样在一个UPDATE语句中使用表B的三个列更新表A中的三个列?

答:对这个问题,您可以使用强大的关系代数。本页中的代码说明了如何组合使用FROM子句和JOIN操作,以达到用其他表中数据更新指定列的目的。在设计关系表达式时,您需要决定是否需要单一行匹配多个行(一对多关系),或者需要多个行匹配被联接表中的单一行以更新所有行(多对一关系)。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)

在一对多关系中,SQL Server始终使用它找到的最后一行更新数据。但是,您无法控制最后一行所在的位置。在多处理器的计算机上,查询可能是同步进行的,相同的查询最后一行的位置可能会不同。因此,Microsoft建议尽量不要使用一对多关系。

如果待更新的表与FROM子句中的表相同,并且FROM子句只包含对该表的一个引用,别名可能未被指定。如果待更新的表在FROM子句中出现了多次,只有该表的一个引用可以省略表的别名,对该表的所有其他引用必须包含一个表别名。

USE tempdb
GO
CREATE TABLE #t1 (c1 int NOT NULL, c2 char(5), c3 char(5),
 c4 char(5))
GO
CREATE TABLE #t2 (c1 int NOT NULL, c2 char(5), c3 char(5),
 c4 char(5))
GO


--数据赋值
INSERT #t1 values (1,'hello','there','fred')
INSERT #t2 values (1,'how','are','you?')

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/sqlserver/)


--更新数据
UPDATE #t1 SET #t1.c2 = #t2.c2, #t1.c3 = #t2.c3,
 #t1.c4 = #t2.c4
FROM #t2
WHERE #t1.c1 = #t2.c1


--检查结果
SELECT * FROM #t1

—Microsoft SQL Server开发团队

 

来源:http://www.tulaoshi.com/n/20160129/1498264.html

延伸阅读
标签: 电脑入门
Excel2007将一个区域复制到其他表可以使用前面描述的复制过程将一个区域或单元格复制到另一个工作表,即使该工作表在不同的工作簿中。当然,在选择想要复制的位置之前必须激活其他的工作表。 Excel 提供了一种更快速的方法复制一个单元格或区域,井将它粘贴到同一工作薄的其他工作表中。首先,选择要复制的区域,然后按Ctrl 键并单击想要将...
标签: Web开发
看了cragle的《有没有必要将网站Div+Css重构?》的文章,有一些想法不说不快,我也在文章的评论里提到曾经开除过两个执着使用div技术的美工,遭到一些朋友的反对,但也有一位技术总监的朋友发帖表示支持,很经典的话就是:做站是给人看的。不是给机器。符合w3c标准又怎么样?。 说到web设计,我是2000年入行的,应该还是有说几句话...
标签: Web开发
问题:在HTML中如何写跳转到某文件? HTML中我希望按了提交后转到aaa.asp这个文件,action这里应该怎么写? formform id="form" name="form" method="post" action="" input type="submit" name="Submit" value="提交" / 终极讨厌解答: window.location.reload(&quo...
指甲油改造小花盆教程 大家都知道,指甲油是用来涂指甲的,当然,很多爱美的女性都非常喜欢买各种各样的指甲油,但是往往都还没有用完就快要过期,扔了可惜,留着又不能用,诶,小编教你一个方法,可以将要过期的指甲油废物利用。 工具材料 :贴纸,即将过期的指甲油,小陶瓷花盆 step1 .首先准备这样材料,可以根...
标签: 双胞胎
双胞胎经验分享 图钉问: 做B超检查的时候发现两个宝宝的大小不一样,这种情况正常吗? 图老师答: 双胞胎在子宫内的生长速度不一样这是很正常的,如果两个胎儿的大小差距太大,就需要早产。 大小不同的时候,应该做检查,以消除双胞胎间输血综合征,虽然这种情况很少发生,但是如果两个胎儿是同卵双生儿,共用一个胎盘的时候就会...

经验教程

424

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部