SQL Server 使用游標更新數據庫中的數據(使用存儲過程)


ALTER PROCEDURE [dbo].[POR_CURSOR_FOR_UPDATE]    --創建存儲過程
AS
BEGIN
  SET nocount ON                   --忽略行數顯示
  DECLARE UpdateSHEBEI CURSOR              --聲明游標
FOR SELECT X_D_TJSL,X_G_JSL FROM FACT_MX --要查詢的結果集
  OPEN UpdateSHEBEI          --打開游標 
DECLARE @X_D_TJ VARCHAR(128),@X_G_J VARCHAR(128);  --聲明變量
 FETCH NEXT FROM UpdateSHEBEI INTO @X_D_TJ,@X_G_J     
 WHILE @@FETCH_STATUS = 0       --開始循環
 BEGIN
   SELECT @X_D_TJ=CEILING(rand()*50);
  
SELECT @X_G_J=CEILING(rand()*6);    --給變量賦值
   UPDATE FACT_SHEBEI_MX SET X_D_TJSL=@X_D_TJ,X_G_JSL=@X_G_J WHERE CURRENT OF UpdateSHEBEI --更新表數據
   FETCH NEXT FROM UpdateSHEBEI INTO @X_D_TJ,@X_G_J     --下一行數據
END
CLOSE UpdateSHEBEI; --關閉游標
 
DEALLOCATE UpdateSHEBEI
SET nocount OFF      --打開計數 END

   上學時學的東西,都忘了,用到了,就翻出來學習了一下。使用存儲過程編寫,可直接運行該存儲過程注釋都寫好了,變量賦值也比較清楚,需要的可以直接復制下來然后替換就好。


免責聲明!

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



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