• 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
  • 相关阅读:
    【就业】腾讯VS百度
    MySQL基础知识
    PHP读取远程文件并保存
    【GTK3.0】背景设置
    【GTK】信号量(signal)大全
    c# 调用win32 api
    PHP写窗体程序
    一个苏州IT人的5年挨踢经历面试篇(之二)
    【c++ Primer 】 4.10复习题 12题(int)、(int&)和(int*)
    线段树技巧
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/2620514.html
Copyright © 2020-2023  润新知