zoukankan      html  css  js  c++  java
  • SQL 游标使用细节

    SQL 游标使用细节

    定义游标时用默认的申明时

    1.如果用到了order by ,order by 里面没有主键的话,所在的修改不会更新映射到游标去。

    2.没有order by 的时候则没事。

    3.多表关联时,如果order by 没有用到主键。所在的修改不会更新映射到游标去。

    IF OBJECT_ID('tempdb..##a') IS NOT NULL
        DROP TABLE ##a 
    
    CREATE TABLE ##a(id INT IDENTITY(1,1) , mc VARCHAR(50))
    
    
    INSERT INTO ##a(mc)
    SELECT '1'
    UNION ALL
    SELECT '2'
    
    
    DECLARE
        @b TABLE(mc int)
    INSERT INTO @b
            ( mc )
    SELECT '1'
    UNION ALL
    SELECT '2'
    
    EXEC dbo.Create_CLUSTERED_IX @TableName = '##a', -- varchar(255)
        @FiledName = 'id', -- varchar(500)
        @IXName = 'ix_tmp_a_id' -- varchar(255)
    
    
      
    DECLARE @id INT,@mc VARCHAR(50) 
    DECLARE cursor_name   CURSOR  DYNAMIC FOR   
      SELECT a.id,a.mc
      FROM ##a a
      --WHERE a.id=b.mc
      ORDER BY mc
    
    OPEN cursor_name
    
    FETCH NEXT FROM cursor_name INTO @id,@mc
     While @@FETCH_STATUS<>-1
    BEGIN
    
        SELECT @mc
         UPDATE ##a SET mc='33'
        FETCH NEXT FROM cursor_name INTO @id,@mc
    END
    
    CLOSE cursor_name
    DEALLOCATE cursor_name
    
    
    /* declare variables */
  • 相关阅读:
    Linux(CentOS 7)iptables防火墙
    Linux(CentOS 7)DNS服务器搭建
    Linux(CentOS 7)LNMP环境搭建
    Linux(CentOS 7)nginx网站服务器
    Linux(CentOS 7)LAMP环境的搭建
    JavaScript 中repalce的使用
    DOM&BOM
    CSS颜色
    CSS中的单位
    Grid Layout 注释
  • 原文地址:https://www.cnblogs.com/BTag/p/15568675.html
Copyright © 2011-2022 走看看