zoukankan      html  css  js  c++  java
  • SQL Cursor(游标)

    1.游标在数据表没有id(identity(1,1))时好用,但是游标会吃更多的内存,减少可用的并发,占用宽带,锁定资源,当然还有更多的代码量

    2.如果能不用游标,尽量不要使用游标,用完用完之后一定要关闭和释放, 尽量不要在大量数据上定义游标,尽量不要使用游标上更新数据

    Cursor:Global for--全局游标

    Cursor:Local for--局部游标

    LOCAL意味着游标的生存周期只在批处理或函数或存储过程中可见

    GLOBAL意味着游标对于特定连接作为上下文,全局内有效

    --第一步:声明游标
    declare test_Cursor Cursor scroll for
    select name  from dbo.aa
    open test_Cursor--打开游标
    --第二遍执行
    declare @name nvarchar(1000)
    fetch next from test_Cursor into @name--下一行
    select @name
    --第三遍关闭清空游标
    CLOSE test_Cursor--关闭
    DEALLOCATE test_Cursor--清空
    /*只有支持6种移动选项,分别为到第一行(FIRST),
      最后一行(LAST),下一行(NEXT),上一行(PRIOR),
      直接跳到某行(ABSOLUTE(n)),
      相对于目前跳几行(RELATIVE(3))*/
    

    通过游标循环数据

    declare test_Cursor Cursor scroll for
    select id,materialName from dbo.table_1
    
    open test_Cursor
    declare @c nvarchar(10)
    declare @name nvarchar(1000)
    
    while @@FETCH_STATUS=0
    begin
    fetch next from test_Cursor into @c,@name
    select @c,@name
    end
    --最后执行
    CLOSE test_Cursor
    DEALLOCATE test_Cursor
    

      

  • 相关阅读:
    【LeetCode】048. Rotate Image
    【LeetCode】036. Valid Sudoku
    【LeetCode】060. Permutation Sequence
    【LeetCode】001. Two Sum
    【LeetCode】128. Longest Consecutive Sequence
    【LeetCode】081. Search in Rotated Sorted Array II
    【LeetCode】033. Search in Rotated Sorted Array
    顺时针打印矩阵
    矩形覆盖
    二维数组中的查找
  • 原文地址:https://www.cnblogs.com/Evan-Pei/p/4648969.html
Copyright © 2011-2022 走看看