|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
问:怎样在一个UPDATE语句中使用表B的三个列更新表A中的三个列? 答:对这个问题,您可以使用强盛的关系代数。本页中的代码说明了如何组合使用FROM子句和JOIN操作,以达到用其他表中数据更新指定列的目的。在设计关系表达式时,您需要决定是否需要单一行匹配多个行(一对多关系),或者需要多个行匹配被联接表中的单一行以更新所有行(多对一关系)。 在一对多关系中,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?\\\') --更新数据 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 返回类别: 教程 上一教程: 小议主子表INT自增主键插入记录的方式 下一教程: 使用MYSQL ODBC进行MYSQL和MSSQL的数据转变 您可以阅读与"将列更新从一个表传递到另一个表"相关的教程: · 将列更新从一个表传递到另一个表 · 从SQL中的一个表中导出HTML文件表格 · 从SQL中的一个表中导出HTML文件表格 · 将一个更新划分为几个批次 · 从一个MYSQL的例子来学习查询语句 |
| 快精灵印艺坊 版权所有 |
首页 |
||