--游標實例 利用游標循環表 根據userid賦值 alter PROCEDURE CURSOR_EG1 AS BEGIN declare @a int,@error int declare @temp varchar(50)--臨時變量,用來保存游標值 set @a=1 set @error=0 BEGIN TRAN --申明事務 --申明游標 為userid declare order_cursor CURSOR FOR select userid from usertable --打開游標 open order_cursor WHILE @@FETCH_STATUS = 0 --返回被 FETCH 語句執行的最后游標的狀態,而不是任何當前被連接打開的游標的狀態。 begin --開始循環游標變量 FETCH NEXT FROM order_cursor INTO @temp --執行sql操作 update usertable set userpwd=username ,chinesename=@a where userid=@temp set @a=@a+1 set @error=@error+@@error --記錄每次運行sql后 是否正確 0正確 end if @error=0--沒有錯誤 統一提交事務 begin commit tran--提交 end else begin rollback tran--回滾 end CLOSE order_cursor--關閉游標 DEALLOCATE order_cursor--釋放游標 END
文章出處:飛諾網(www.firnow.com):http://dev.firnow.com/course/7_databases/sql/sqlServer/20090517/167160.html