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