目录

  • 游标的概念
  • 游标的作用
  • 游标的生命周期
    • 声明游标
    • 打开一个游标
    • 循环一个游标
    • 关闭游标
    • 释放游标
  • 案例

游标的概念

游标是SQL 的一种数据访问机制。可以将游标简单的看成是查询的结果集的一个指针,可以根据需要在结果集上面来回滚动,浏览需要的数据。

游标的作用

查询数据,大多的语言都支持使用游标来检索SQL数据库中的数据,并保存查询的结果以供之后使用,比如我们在日常过程中需要重复处理容易个结果集,我们就可以选择只加载一次结果集,创建一个游标并反复使用,这样就比多次创建结果集效率要高的多。

游标的生命周期

游标的生命周期包含有五个阶段:声明游标、打开游标、读取游标数据、关闭游标、释放游标。

声明游标

DECLARE cursor_name CURSOR
FOR SELECT 字段 FROM 表

打开一个游标

OPEN cursor_name

循环一个游标

注意:@后面是指声明的变量
DECLARE @BookName nvarchar(2000),@BookCoding nvarchar(2000)

FETCH NEXT FROM cursor_name INTO @BookName,@BookCoding
WHILE @@FETCH_STATUS =0
BEGIN
print ‘name’+@BookName
FETCH NEXT FROM cursor_name INTO @BookName,@BookCoding
END

关闭游标

CLOSE cursor_name

释放游标

DEALLOCATE cursor_name
————————————————
cursor_name:游标的名称

案例

1.先创建一个Books表


2.需求
– 根据价格设置每本书的等级
– 价格<50便宜
– >50-100中等
– >=100贵
3.语句

--定义游标
declare cur_set_lever CURSOR
for select ID,Price from Books
--打开游标
open cur_set_lever
--获取数据ID,price
--定义两个变量
declare @id int
declare @price decimal(18,2)
fetch next from cur_set_lever into @id,@price
--循环获取
while(@@FETCH_STATUS=0)
begin--修改等级if(@price<50)update Books set Levels='便宜' where ID=@idelse if(@price<100)update Books set Levels='中等' where ID=@idelseupdate Books set Levels='贵' where ID=@idfetch next from cur_set_lever into @id,@price
end
--关闭游标
close cur_set_lever
--释放游标
deallocate cur_set_lever

4.执行结果

SQL Server数据库游标的应用相关推荐

  1. SQL Server 数据库SQL语句中CURSOR(游标)的使用

    本文主讲SQL Server数据库中 游标CURSOR 的使用,欢迎阅读~

  2. python 使用pymssql连接sql server数据库

    Python连接SQL Server数据库 - pymssql使用基础 ----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html ...

  3. 人人都是 DBA(V)SQL Server 数据库文件

    SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name],database_id,suser_sname(o ...

  4. 优化SQL Server数据库查询方法

    本文详细介绍了优化SQL Server数据库查询方法. SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) ...

  5. 五十种巧妙优化SQL Server数据库

    五十种巧妙优化SQL Server数据库的方法:出现性能问题的原因- 没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小,形成了瓶颈效应. 没有创建计算列导致查询不 ...

  6. SQL Server数据库优化方案

    SQL Server数据库优化方案 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...

  7. 5、SQL Server数据库、T-SQL

    SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...

  8. SQL Server 数据库原理与应用

    1. 数据库概述 名词解释: DB:数据库 DBMS:数据库管理系统 DBS:数据库系统 DBA:数据库管理员 DBAS:数据库应用系统 数据管理的三个阶段:人工管理.文件系统阶段.数据库系统阶段. ...

  9. SQL Server数据库学习总结及T-SQL语法使用实战

    SQL Server数据库及T-SQL实战 声明 名词解释 SQL Server数据库 安装sql server 数据库中的三种完整性 SQL Server数据库基本操作 创建数据库 指定多个数据库文 ...

最新文章

  1. 对于容器环境来说 全栈监控究竟意味着什么?
  2. python【数据结构与算法】Graph(图)的总结
  3. python邮件正文表格怎么编辑_python怎么把excel写到邮件里
  4. python web开发 Bootstrap框架基础
  5. Linux查找class类所在jar包
  6. Xendesktop 5.0与view 4.5对比的看法
  7. PNG免扣苹果IPHONE手机模型样机,让一切简单一点!
  8. .net session超时设置 sessionState的相关属性
  9. Linux(Ubuntu)上的VULKAN环境配置步骤记录
  10. WIN7 vc2008【fatal error C1083: 无法打开文件:“Windows.h”: No such file or directory】【cl.exe link.exe手动调用编译】
  11. 微信发送模板消息返回data format error hint 47001
  12. 设置linux开机自动运行某条命令或程序和安装jdk(jar)
  13. vcpkg: bootstrap-vcpkg.bat下载失败问题
  14. json.loads()的字符串中为单引号引发的错误
  15. Request header field x-xsrf-token is not allowed by Access-Control-Allow-Headers in preflight respon
  16. 电视盒子 android tv6,电视盒子到底是什么?智能电视/盒子究竟究竟该选谁?
  17. 个人作业Week3-案例分析
  18. CTF | bugku | 秋名山车神
  19. Internet Download Manager2023最好用的HTTP下载神器
  20. 台式机前耳机插孔没声音,后绿色耳机插孔有声音的解决方法

热门文章

  1. [DeCAF]DeCAF: A Deep Convolutional Activation Featurefor Generic Visual Recognition
  2. Java 集合(List、Set)与数组(Arr)互转方法及注意事项,难怪《阿里开发手册》会如此重视
  3. 移动端调用高德地图app和百度app
  4. Ubuntu快速下载百度云文件
  5. 【程序员面试题2017】阿里巴巴
  6. python从EXCEL中读取数据转换为列表
  7. MOSFET N-CH 30V SM3323NHQAC-TRG、SI7114DN-T1-GE3场效应管
  8. 网易游戏面试--两次股票买入卖出的最大收益
  9. leapmotion 正反问题_Leap Motion运行原理介绍
  10. 小唐开始刷蓝桥(三)2018年第九届C/C++ B组蓝桥杯省赛真题