游标写法

--定义变量,可以多个
DECLARE @productID NVARCHAR(50)
--定义游标
DECLARE cursorOfID CURSOR FOR
SELECT ID FROM manager_product
 --打开游标
OPEN cursorOfID
 --获取数据,游标下移一行,可以查看数据行数@@CURSOR_ROWS
FETCH NEXT FROM cursorOfID INTO @productID

 
  --检测获取数据是否成功
WHILE @@fetch_status = 0
    BEGIN
   --显示通过游标赋值的变量(可以写存储过程或者sql句)
        EXEC updateKeyword @productID
   --游标继续下移
        FETCH NEXT FROM cursorOfID INTO @productID
    END
 --关闭游标
CLOSE cursorOfID
--删除游标
DEALLOCATE cursorOfID

 --===============wangsm,批量更新数据(游标)=================
declare @RequisitionID NVARCHAR(50)
declare @Examdate NVARCHAR(10)
DECLARE cursorOfID CURSOR FOR
SELECT A.RequisitionID,A.ExamDate FROM RIS_REQUEST A,RIS_WORKLIST B
WHERE A.RequisitionID =B.RequisitionID
AND B.ExamDate =''
open cursorOfID
FETCH NEXT FROM cursorOfID INTO @RequisitionID,@Examdate
while @@fetch_status = 0
begin
  update RIS_WORKLIST set ExamDate =@Examdate where RequisitionID =@RequisitionID
  fetch next from cursorOfID INTO @RequisitionID,@Examdate
end
CLOSE cursorOfID
DEALLOCATE cursorOfID

 

posted @ 2012-12-24 13:21  byronming  阅读(531)  评论(0编辑  收藏  举报