sql 存儲過程 循環


--游標實例  利用游標循環表 根據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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM