zoukankan      html  css  js  c++  java
  • sql 存储过程 循环

    declare @i int
    set @i = 0
    while @i < 100
    begin
      update table set column = @i where ID_column = @i
      set @i = @i + 1
    end
    
    --游标实例  利用游标循环表 根据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
    
  • 相关阅读:
    Qt 去除控件边框线
    Qt 自定义可编辑 模型视图
    Qt double类型输出问题
    vue实例
    初识vue
    python中的数据类型
    python 列表解析式
    Goland常用快键键 mac pro
    文档对象模型DOM
    正则表达式
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/1812013.html
Copyright © 2011-2022 走看看