SQL Server数据库游标的应用
目录
- 游标的概念
- 游标的作用
- 游标的生命周期
- 声明游标
- 打开一个游标
- 循环一个游标
- 关闭游标
- 释放游标
- 案例
游标的概念
游标是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数据库游标的应用相关推荐
- SQL Server 数据库SQL语句中CURSOR(游标)的使用
本文主讲SQL Server数据库中 游标CURSOR 的使用,欢迎阅读~
- python 使用pymssql连接sql server数据库
Python连接SQL Server数据库 - pymssql使用基础 ----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html ...
- 人人都是 DBA(V)SQL Server 数据库文件
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name],database_id,suser_sname(o ...
- 优化SQL Server数据库查询方法
本文详细介绍了优化SQL Server数据库查询方法. SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) ...
- 五十种巧妙优化SQL Server数据库
五十种巧妙优化SQL Server数据库的方法:出现性能问题的原因- 没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小,形成了瓶颈效应. 没有创建计算列导致查询不 ...
- SQL Server数据库优化方案
SQL Server数据库优化方案 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...
- 5、SQL Server数据库、T-SQL
SQL Server数据库基础 一.安装SQL Server数据库 setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步- ...
- SQL Server 数据库原理与应用
1. 数据库概述 名词解释: DB:数据库 DBMS:数据库管理系统 DBS:数据库系统 DBA:数据库管理员 DBAS:数据库应用系统 数据管理的三个阶段:人工管理.文件系统阶段.数据库系统阶段. ...
- SQL Server数据库学习总结及T-SQL语法使用实战
SQL Server数据库及T-SQL实战 声明 名词解释 SQL Server数据库 安装sql server 数据库中的三种完整性 SQL Server数据库基本操作 创建数据库 指定多个数据库文 ...
最新文章
- 对于容器环境来说 全栈监控究竟意味着什么?
- python【数据结构与算法】Graph(图)的总结
- python邮件正文表格怎么编辑_python怎么把excel写到邮件里
- python web开发 Bootstrap框架基础
- Linux查找class类所在jar包
- Xendesktop 5.0与view 4.5对比的看法
- PNG免扣苹果IPHONE手机模型样机,让一切简单一点!
- .net session超时设置 sessionState的相关属性
- Linux(Ubuntu)上的VULKAN环境配置步骤记录
- WIN7 vc2008【fatal error C1083: 无法打开文件:“Windows.h”: No such file or directory】【cl.exe link.exe手动调用编译】
- 微信发送模板消息返回data format error hint 47001
- 设置linux开机自动运行某条命令或程序和安装jdk(jar)
- vcpkg: bootstrap-vcpkg.bat下载失败问题
- json.loads()的字符串中为单引号引发的错误
- Request header field x-xsrf-token is not allowed by Access-Control-Allow-Headers in preflight respon
- 电视盒子 android tv6,电视盒子到底是什么?智能电视/盒子究竟究竟该选谁?
- 个人作业Week3-案例分析
- CTF | bugku | 秋名山车神
- Internet Download Manager2023最好用的HTTP下载神器
- 台式机前耳机插孔没声音,后绿色耳机插孔有声音的解决方法
热门文章
- [DeCAF]DeCAF: A Deep Convolutional Activation Featurefor Generic Visual Recognition
- Java 集合(List、Set)与数组(Arr)互转方法及注意事项,难怪《阿里开发手册》会如此重视
- 移动端调用高德地图app和百度app
- Ubuntu快速下载百度云文件
- 【程序员面试题2017】阿里巴巴
- python从EXCEL中读取数据转换为列表
- MOSFET N-CH 30V SM3323NHQAC-TRG、SI7114DN-T1-GE3场效应管
- 网易游戏面试--两次股票买入卖出的最大收益
- leapmotion 正反问题_Leap Motion运行原理介绍
- 小唐开始刷蓝桥(三)2018年第九届C/C++ B组蓝桥杯省赛真题