首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

update top 按顺序更细数据,该怎么处理

2012-02-01 
update top 按顺序更细数据关于update top按顺序更新数据的问题读到章立明的sqlserver 2005书说可以按顺序

update top 按顺序更细数据
关于update top
按顺序更新数据的问题
读到章立明的sqlserver 2005书
说可以按顺序更新,心想那就不用循环更新啦,但是苦于没有实际例子
大家用过这个语句的朋友指导一下啊


[解决办法]
这功能不可用,delete top ?/update top ?这样的结果都是不一样的,与物理顺序有关,一个与索引有关。。。

[解决办法]
同意楼上

可以使用 TOP 子句来限制 UPDATE 语句中修改的行数。当在 UPDATE 语句中使用 TOP (n) 子句时,将基于随机选择 n 行来执行更新操作。例如,假设您要为一位高级销售人员减轻销售负担,而将一些客户分配给了一位初级销售人员。下列示例将随机抽样的 10 个客户从一位销售人员分配给了另一位。

 复制代码 
USE AdventureWorks;
UPDATE TOP (10) Sales.Store
SET SalesPersonID = 276
WHERE SalesPersonID = 275;
GO

 

如果需要使用 TOP 来应用按有意义的时间顺序排列的更新,您必须同时使用 TOP 和 ORDER BY 子句。下列示例更新了雇佣最早的 10 名雇员的假期小时数。

 复制代码 
UPDATE HumanResources.Employee
SET VacationHours = VacationHours + 8
FROM (SELECT TOP 10 EmployeeID FROM HumanResources.Employee
ORDER BY HireDate ASC) AS th
WHERE HumanResources.Employee.EmployeeID = th.EmployeeID;
GO

 

[解决办法]
可能要借助于临时表,如:

SQL code
;with th as (SELECT TOP 10 * FROM HumanResources.Employee ORDER BY HireDate)UPDATE th SET VacationHours = VacationHours + 8 

热点排行