zoukankan      html  css  js  c++  java
  • sql server 游标使用

    --------------------利用游标对查询的数据集进行遍历-----------------------
    DECLARE @gcode VARCHAR(10) ,@name VARCHAR(50),@price CHAR(10)
    DECLARE sel CURSOR SCROLL FOR
    SELECT c_gcode,c_name,c_price FROM tb_gds
    WHERE c_gcode IN ('000001','000002','000003')
    ORDER BY c_gcode;

    OPEN sel

    FETCH NEXT FROM sel INTO @gcode,@name,@price
    WHILE @@FETCH_STATUS=0
    BEGIN
    PRINT '商品编码:'+@gcode
    PRINT '商品名称:'+@name
    PRINT '商品价格:'+@price
    PRINT '................'

    FETCH NEXT FROM sel INTO @gcode,@name,@price
    END

    CLOSE sel

    DEALLOCATE sel


    -------------------利用游标修改、删除数据--------------------------
    BEGIN TRAN

    DECLARE update_gdsstore CURSOR SCROLL FOR
    SELECT c_gcode,c_price,c_store_id
    FROM dbo.tb_gdsstore
    WHERE c_gcode IN ('000001','000002','000003') FOR UPDATE OF c_price

    OPEN update_gdsstore
    DECLARE @ROWCOUNT INT
    SET @rowcount=1
    FETCH ABSOLUTE @rowcount FROM update_gdsstore
    UPDATE dbo.tb_gdsstore SET c_price='12' WHERE CURRENT OF update_gdsstore

    SET @ROWCOUNT=@ROWCOUNT+1

    FETCH NEXT FROM update_gdsstore
    UPDATE dbo.tb_gdsstore SET c_price='11' WHERE CURRENT OF update_gdsstore

    SET @ROWCOUNT=@ROWCOUNT+1

    FETCH NEXT FROM update_gdsstore
    UPDATE dbo.tb_gdsstore SET c_price='10' WHERE CURRENT OF update_gdsstore

    CLOSE update_gdsstore

    DEALLOCATE update_gdsstore

    ROLLBACK

    -----------------------------利用游标对查询的数据集进行遍历-------------------------------


    DECLARE @ggcode VARCHAR(10),@gname VARCHAR(50),@produce VARCHAR(30)
    DECLARE get_info CURSOR SCROLL FOR
    SELECT c_gcode,c_name,c_produce FROM tb_gds
    WHERE c_adno='201'
    ORDER BY c_gcode;

    OPEN get_info

    FETCH NEXT FROM get_info INTO @ggcode,@gname,@produce
    WHILE @@FETCH_STATUS=0
    BEGIN
    PRINT '商品编码:'+@ggcode
    PRINT '商品名称:'+@gname
    PRINT '商品产地:'+@produce
    PRINT '................'

    FETCH NEXT FROM get_info INTO @ggcode,@gname,@produce
    END

    CLOSE get_info

    DEALLOCATE get_info

  • 相关阅读:
    ci高级使用方法篇之连接多个数据库
    JavaSE入门学习17:Java面向对象之package(包)
    找出字符串中第一个出现次数最多的字符
    red5源代码编译并打包公布
    J.U.C--locks--AQS分析
    Spring Web MVC 原理学习(下)
    深入理解 Linux 内存管理
    Java面试问题总结
    盗版者的失落
    eclipse配置lombok插件
  • 原文地址:https://www.cnblogs.com/xzsty/p/6497697.html
Copyright © 2011-2022 走看看