zoukankan      html  css  js  c++  java
  • 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

       上学时学的东西,都忘了,用到了,就翻出来学习了一下。使用存储过程编写,可直接运行该存储过程注释都写好了,变量赋值也比较清楚,需要的可以直接复制下来然后替换就好。

  • 相关阅读:
    Java多线程_同步工具CountDownLatch
    Java多线程_Semaphore信号量
    Java多线程_ReentrantLock
    Java多线程_CAS算法和ABA问题
    Java多线程_Atomic
    Java多线程_生产者消费者模式2
    Java多线程_生产者消费者模式1
    Java多线程_阻塞队列
    Java多线程_wait/notify/notifyAll方法
    Java多线程同步_synchronized
  • 原文地址:https://www.cnblogs.com/com-xiaolanchong/p/5946496.html
Copyright © 2011-2022 走看看