USE AdventureWorks2008R2;
GO
DECLARE complex_cursor CURSOR FOR
SELECT a.BusinessEntityID
FROM HumanResources.EmployeePayHistory AS a
WHERE RateChangeDate <>
(SELECT MAX(RateChangeDate)
FROM HumanResources.EmployeePayHistory AS b
WHERE a.BusinessEntityID = b.BusinessEntityID) ;
OPEN complex_cursor;
FETCH FROM complex_cursor;
UPDATE HumanResources.EmployeePayHistory
SET PayFrequency = 2
WHERE CURRENT OF complex_cursor;
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
GO
|
转载于:https://www.cnblogs.com/Amaranthus/archive/2011/05/17/2048494.html
本文演示了如何使用SQLServer游标来更新特定条件下的数据记录,通过一个具体的示例,展示了如何从EmployeePayHistory表中选择并更新不满足最新工资变更日期的员工薪酬频率。
655

被折叠的 条评论
为什么被折叠?



