易截截图软件、单文件、免安装、纯绿色、仅160KB

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

问:怎样在一个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


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

Oracle中如何用一条SQL快速生成10万条测试数据

 
 Oracle中如何用一条SQL快速生成10万条测试数据
做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,
那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
 
SQL> select rownum as id,
&nb ......

使用 SQL Server Profiler 的實例

使用 SQL Server 事件探查器的方案
使用 SQL Server Profiler的第一步是确定监视 SQL Server 实例的原因。本主题讨论使用 SQL Server Profiler收集跟踪信息的典型方案。
使用 SQL Server Profiler的典型方案包括:
查找执行情况最差的查询。
例如,可以创建一个捕获与 TSQL 和 Stored Procedure 事件类(RPC:Completed ......

如何选择正确的SQL Server Compact安装包


摘要:SQL Server Compact的安装包由三部分功能组成,并且区分CPU平台和操作系统平台,初学者往往不知道如何去区分它们。本文将对SQL Server Compact的安装包进行介绍,让你知道如何区分和选择它们。
如果你是使用Visual Studio 2005/2008开发.NET Compact Framework应用程序,并在程序中用到了SQL Server Compact数据库 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号