【第二十二部分】游标
【第二十二部分】游标
文章目录
- 【第二十二部分】游标
- 22. 游标
- 22.1 游标的定义
- 22.2 游标的使用
- 22.3 游标优缺点
- 总结
22. 游标
22.1 游标的定义
当我们筛选条件的时候,虽然可以使用WHERE或者HAVING去选出我们想要的字段,但是去无法将一大块的结果集进行遍历,从而更加细致的处理数据。
这个时候就可以使用游标,游标是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针,这里游标充当了指针的作用,我们可以通过操作游标来对数据行进行操作。
22.2 游标的使用
- 声明游标
DECLARE 游标名 CURSOR FOR 写sql语句; - 打开游标
OPEN 游标名; - 使用游标
FETCH 游标名 INTO variable_name;表示游标来读取当前行,并且将数据保存到 variable_name。如果游标读取的数据行有多个列名,则在 INTO 关键字后面赋值给多个变量名即可。 - 关闭游标
CLOSE 游标名;
举例说明:
# 创建存储过程“get_count_by_limit_total_salary()”,声明IN参数 limit_total_salary,DOUBLE类型;声明OUT参数total_count,INT类型。函数的功能可以实现累加薪资最高的几个员工的薪资值,直到薪资总和达到limit_total_salary参数的值,返回累加的人数给total_count。DELIMITER //
CREATE PROCEDURE get_count_by_limit_total_salary(IN limit_total_salary DOUBLE,OUT total_count INT)
BEGIN DECLARE cur_salary DOUBLE DEFAULT 0.0; # 存储当前游标所指向的数据DECLARE sum_salary DOUBLE DEFAULT 0.0; # 总金额DECLARE t_count INT DEFAULT 0;# 声明游标DECLARE cursor_name CURSOR FOR SELECT salary FROM employees ORDER BY salary DESC;# 打开游标OPEN cursor_name;WHILE sum_salary <= limit_total_salary DO# 使用游标# 该操作是将当前所指向的数据存储到cur_salary变量中FETCH cursor_name INTO cur_salary;# 累加SET sum_salary = sum_salary + cur_salary;SET t_count = t_count + 1;END WHILE;SET total_count = t_count;# 关闭游标CLOSE cursor_name;
END //
DELIMITER ;CALL get_count_by_limit_total_salary(70000,@total_count);
SELECT @total_count;
22.3 游标优缺点
优点:
- 能够更加细致的处理数据,达到预期效果
- 游标可以在存储程序中使用,效率高,程序也更加简洁
- 操作灵活,可以对结果集进行逐行定位
缺点:使用游标的过程中,会对数据行进行加锁,这样在业务并发量大的时候,不仅会影响业务之间的效率,还会消耗系统资源,造成内存不足,这是因为游标是在内存中进行的处理。
总结
以上就是今天要讲的内容,希望对大家有所帮助!!!
相关文章:
【第二十二部分】游标
【第二十二部分】游标 文章目录【第二十二部分】游标22. 游标22.1 游标的定义22.2 游标的使用22.3 游标优缺点总结22. 游标 22.1 游标的定义 当我们筛选条件的时候,虽然可以使用WHERE或者HAVING去选出我们想要的字段,但是去无法将一大块的结果集进行遍…...
【面试题】2023高频前端面试题20题
大厂面试题分享 面试题库前端后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库1. 简述 TCP 连接的过程(淘系)参考答案:TCP 协议通过三次握手建立可靠的点对点连接,具体过程…...
Spring解决循环依赖为什么需要三级缓存?
前言什么是循环依赖呢?我们抛开Spring这个框架来聊下什么是循环依赖,循环依赖可能在我们平时的开发过程中是属于比较常见的。Spring容器最大的功能就是对bean的生命周期进行管理,每个bean在创建的过程中,需要得到一个完整的bean需…...
Android源码分析 - 回顾Activity启动流程
跟踪Activity启动流程 基于 Android8.0 源码跟踪 Android8/9大同小异,但Android10对activity的管理解耦交给了ATMS。 跟踪目的:ams到底在哪里发起activity的启动的?以及resume等生命周期到底是谁发起的?onResume()之后是哪里发起…...
PDMS二次开发(一)——PML类型程序类型与概念
目录前言一、PML类型与概念基础知识变量函数小例子注释PML表达式条件判断语句循环skip和break窗口程序在PDMS菜单栏中添加程序窗口自动定位PML常见控件前言 PDMS二次开发需要.net 有自带的PML语言和C# .net一般通常泛指的是C#语言 模型数据借助.NET的接口可以转换成数据库中的…...
一文揭晓:手机号码归属地api的作用是什么?
随着手机的普及,手机号码的归属地已经成为很多网站和App中调用的重要数据资源。而手机号码归属地API可以帮助开发者快速获取手机号码归属地信息。目前,这种API已经被广泛地使用,用于各种不同的应用场景。这对于用户及开发者来说是非常重要的&…...
电容的结构分类介质封装及应用场景总结
🏡《总目录》 目录 1,概述2,结构分类2.1,固定电容器2.2,可变电容器3,介质分类3.1,无机介质电容器3.2,有机介质电容器3.3,电解电容器3.4,气体介质电容器4,封装分类4.1,直插电容器4.2,贴片电容器5,总结1,概述 电容器作为一种储能元件,在电路中和电阻一样非常常用…...
数据结构初阶——时间复杂度与空间复杂度
时间复杂度与空间复杂度1. 算法效率1.1 如何衡量一个算法的好坏1.2算法的复杂度2.时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3常见时间复杂度计算举例实列1:实列2:实列3:实列4:实列5:实列6:实列…...
深度学习之“制作自定义数据”--torch.utils.data.DataLoader重写构造方法。
深度学习之“制作自定义数据”–torch.utils.data.DataLoader重写构造方法。 前言: 本文讲述重写torch.utils.data.DataLoader类的构造方法,对自定义图片制作类似MNIST数据集格式(image, label),用于自己的Pytorc…...
#G. 求约数个数之六
我们先求到区间[1..b]之间的所有约数之和于是结果就等于 [1..b]之间的所有约数之和减去[1..a-1]之间的约数之和很明显这两个问题是同性质的问题,只是右端点不同罢了.明显对于1到N之间的数字,其约数范围也为1到N这个范围内。于是我们可以枚举约数L,当然这…...
如何为Java文件代码签名及添加时间戳?
Java是一种流行的编程语言,大多数组织都使用它来开发业务应用程序。由于其高使用率,攻击者总是试图找到其中的漏洞并基于它利用软件。为了防止此类攻击, 为 Java 文件(.jar)进行代码签名并添加时间戳,可以防…...
Xamarin.Forsm for Android 显示 PDF
背景 某些情况下,需要让用户阅读下发的文件,特别是红头文件,这些文件一般都是使用PDF格式下发,这种文件有很重要的一点就是不能更改。这时候就需要使用原文件进行展示。 Xamarin.Forms Android 中的 WebView 控件是不能直接显示的…...
RK3399平台开发系列讲解(LED子系统篇)LED子系统详解
🚀返回专栏总目录 文章目录 一、设备树编写二、LED子系统2.1、用户态2.2、内核驱动三、驱动代码3.1、平台设备驱动的注册3.2、平台设备驱动的probe四、使用方法沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将详细介绍LED子系统。 一、设备树编写 节点属性添加…...
LeetCode 432. 全 O(1) 的数据结构
LeetCode 432. 全 O(1) 的数据结构 难度:hard\color{red}{hard}hard 题目描述 请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。 实现 AllOneAllOneAllOne 类: AllOne()AllOne()AllOne() 初始化数据结构的对…...
再析jvm
前言 希望自己每一次学习都有不同的理解 文章目录前言1. jvm的组成取消永久代使用元空间原因2. 运行时数据区3. 堆栈区别队列和栈,队列先进先出,栈先进后出从栈顶弹出4. GC、内存溢出、垃圾回收4.1 如何确定引用是否会被回收4.1.1 Java中的引用类型4.1.…...
社招前端二面面试题总结
代码输出结果 var A {n: 4399}; var B function(){this.n 9999}; var C function(){var n 8888}; B.prototype A; C.prototype A; var b new B(); var c new C(); A.n console.log(b.n); console.log(c.n);输出结果:9999 4400 解析: conso…...
人人能读懂redux原理剖析
一、Redux是什么? 众所周知,Redux最早运用于React框架中,是一个全局状态管理器。Redux解决了在开发过程中数据无限层层传递而引发的一系列问题,因此我们有必要来了解一下Redux到底是如何实现的? 二、Redux的核心思想…...
uniCloud云开发----7、uniapp通过uni-swiper-dot实现轮播图
uniapp通过uni-swiper-dot实现轮播图前言效果图1、官网实现的效果2、需求中使用到的效果图官网提供的效果图源码1、html部分2、js部分3、css部分根据需求调整轮播图前言 uni-swiper-dot.文档 uni-swiper-dot 轮播图指示点 - DCloud 插件市场 本次展示根据需求制作的和官网用到…...
IM即时通讯构建企业协同生态链
在当今互联网信息飞速发展的时代,随着企业对协同办公要求的提高,协同办公的定义提升到了智能化办公的范畴。大多企业都非常重视构建连接用户、员工和合作伙伴的生态平台,利用即时通讯软件解决企业内部的工作沟通、信息传递和知识共享等问题。…...
Python实现构建gan模型, 输入一个矩阵和两个参数值,输出一个矩阵
构建一个GAN模型,使用Python实现,该模型将接受一个矩阵和两个参数值作为输入,并输出另一个矩阵。GAN(生成对抗网络)是一种深度学习模型,由生成器和判别器两部分组成,可以用于生成具有一定规律性的数据,如图像或音频。 # 定义生成器 def make_generator(noise_dim, dat…...
告别手动回复!用Python+uiautomation2给Android微信做个24小时值班机器人(附完整代码)
Android微信自动化:用uiautomation2打造全天候智能应答系统 深夜11点,你的手机突然亮起——又是一位老客户发来产品咨询。而此时,你开发的微信机器人已经自动识别关键词,秒回了详细的产品参数和购买链接。这不是科幻场景ÿ…...
LibTV“私人好莱坞”让短剧创作爽到飞起!
打开LibTV官网开始创作,系统直接创建了一张无限画布,所有素材都能在同一画布上调度生成。...
告别杂乱原理图!手把手教你用PDFCreator+Ghostscript为OrCAD 16.6原理图生成带导航书签的PDF
告别杂乱原理图!手把手教你用PDFCreatorGhostscript为OrCAD 16.6原理图生成带导航书签的PDF 硬件工程师的日常工作中,原理图评审是绕不开的环节。但你是否遇到过这样的场景:当你将精心设计的OrCAD原理图导出为PDF分享给团队时,软件…...
OpenClaw健康检查方案:千问3.5-35B-A3B-FP8长期运行维护指南
OpenClaw健康检查方案:千问3.5-35B-A3B-FP8长期运行维护指南 1. 为什么需要健康检查? 去年冬天的一个深夜,我被手机警报惊醒——部署在家庭服务器的OpenClaw千问3.5组合突然停止了响应。检查日志发现是显存泄漏导致进程崩溃,而当…...
手机网站优化与App优化有什么不同_网站 SEO 外链建设应该如何进行
手机网站优化与App优化有什么不同_网站 SEO 外链建设应该如何进行 在当今移动互联网时代,无论是手机网站优化还是App优化,都是提升用户体验和提高网站流量的重要手段。这两者之间有许多不同之处,特别是在搜索引擎优化(SEO&#x…...
IQuest-Coder-V1-40B-Instruct快速上手:LoRA微调打造专属编程助手
IQuest-Coder-V1-40B-Instruct快速上手:LoRA微调打造专属编程助手 1. 认识IQuest-Coder-V1-40B-Instruct 1.1 新一代代码大模型的特点 IQuest-Coder-V1-40B-Instruct是一款专为软件工程和竞技编程设计的大型语言模型。它基于创新的代码流多阶段训练范式构建&…...
伊朗媒体:美军试图炸死在伊朗失联飞行员
新华社德黑兰4月5日电 伊朗塔斯尼姆通讯社5日凌晨报道称,美军搜救被击落战机的一名飞行员无果,试图通过空袭其在伊朗的可能藏身之处将其炸死。报道援引一名伊朗军方消息人士的话说,4日夜间至5日凌晨,美军出动战机,轰炸…...
Z-Image-Turbo-辉夜巫女效果实测:LoRA微调模型在Gradio界面的高清出图表现
Z-Image-Turbo-辉夜巫女效果实测:LoRA微调模型在Gradio界面的高清出图表现 1. 模型简介与部署 Z-Image-Turbo-辉夜巫女是基于Z-Image-Turbo模型进行LoRA微调后的特殊版本,专门针对生成"辉夜巫女"风格图片进行了优化。该模型通过Xinference框…...
OpenClaw开源贡献:为Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF开发社区技能
OpenClaw开源贡献:为Qwen3-4B-Thinking-2507-GPT-5-Codex-Distill-GGUF开发社区技能 1. 为什么我要为OpenClaw开发技能 去年冬天,我在整理个人项目文档时,突然意识到一个痛点:每次都要手动将Markdown笔记转换成不同平台要求的格式…...
Z-Image-GGUF文生图模型问题解决:常见报错处理,让AI绘画更顺畅
Z-Image-GGUF文生图模型问题解决:常见报错处理,让AI绘画更顺畅 1. 引言 在使用Z-Image-GGUF文生图模型进行AI绘画创作时,许多用户可能会遇到各种技术问题和报错信息。本文将全面梳理最常见的报错情况及其解决方案,帮助您快速定位…...
