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
  • 相关阅读:
    JVM虚拟机
    antd Table排序问题
    关于element-ui中el-container布满全局的问题!
    vue 安装css预处理器LESS
    mybatis官网
    Lombok安装及使用介绍
    thymeleaf中th:each的使用,遍历数组
    thymeleaf中th:text和th:utext的使用与区别
    SprongBoot项目的打包与启动
    SpringBoot简单学习
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/2620514.html
Copyright © 2011-2022 走看看