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
  • 相关阅读:
    mysql数据库存储的引擎和数据类型
    mysql数据库基本操作
    【转】linux yum命令详解
    [转]Linux rpm 命令参数使用详解
    【转】Linux GCC常用命令
    [转]linux下logrotate 配置和理解
    [转]Linux下chkconfig命令详解
    [转]linux之top命令
    [转]linux之ps命令
    互联网产品如何做到快与轻
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/2620514.html
Copyright © 2011-2022 走看看