zoukankan      html  css  js  c++  java
  • SQL Server游标

    --申明一个游标
    DECLARE MyCursor CURSOR
    FOR SELECT TOP 5 FBookName,FBookCoding FROM TBookInfo//定义一个叫MyCursor的游标,存放for select 后的数据
    
    --打开一个游标
    OPEN MyCursor//即打开这个数据集
     
    --循环一个游标
    DECLARE @BookName nvarchar(2000),@BookCoding nvarchar(2000)
    FETCH NEXT FROM  MyCursor INTO @BookName,@BookCoding//移动游标指向到第一条数据,提取第一条数据存放在变量中
    WHILE @@FETCH_STATUS =0//如果上一次操作成功则继续循环
    BEGIN
    print 'name'+@BookName
    FETCH NEXT FROM  MyCursor INTO @BookName,@BookCoding//继续提下一行
    END
    
    --关闭游标
    CLOSE MyCursor
    --释放资源
    DEALLOCATE MyCursor
    eg:
    
    create table #a    
    (    
    id varchar(20),    
    name varchar(20)  
    )     
    
    insert into #a select 1,'jack'    
    insert into #a select 2,'join'    
    insert into #a select 3,'make'  
    
    declare mycursor cursor     
    for select * from #a  
    open mycursor     
    declare @id varchar(20),@name varchar(20)    
    fetch next from mycursor into @id,@name  
    while @@fetch_status=0  
    begin    
    select @id,@name    
    fetch next from mycursor into @id,@name    
    end     
    close mycursor    
    deallocate mycursor
     
    
    
    
    游标属于行级操作 消耗很大 SQL查询是基于数据集的所以一般查询能有 能用数据集 就用数据集 别用游标 数据量大 是性能杀手
    vinson
  • 相关阅读:
    故乡
    webService和Restful
    java多线程(六)线程控制类
    java内存模型
    java多线程(五)线程通讯
    java多线程(四)死锁
    java多线程(三)线程的安全问题
    java多线程(二)线程的生命周期
    java多线程(一)创建线程的四种方式
    Spring Cloud(一)简单的微服务集成Eureka
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/2620514.html
Copyright © 2011-2022 走看看