MYSQL存储过程-练习5 游标
MYSQL存储过程-练习5 游标
1 DELIMITER $
2 CREATE PROCEDURE sp_cur()
3 BEGIN
4 DECLARE bkname VARCHAR(200);
5 DECLARE done INT DEFAULT 0; #游标结束标志
6
7 DECLARE cur CURSOR FOR SELECT bookname FROM book; #声明游标
8 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; #指定游标结束时的返回值
9
10 OPEN cur; #打开游标
11 lp1:LOOP
12 FETCH cur INTO bkname; #获取结果
13 IF done = 1 THEN #当游标的返回值为 1 时 退出循环
14 leavr lp1;
15 END IF;
16 SELECT bkname;
17 END LOOP;
18
19 CLOSE cur; #关闭游标
20
21 END$
22 DELIMITER;
执行存储过程,检查游标运行结果
1 mysql> call sp_cur();
2 +------------------------+
3 | bkname |
4 +------------------------+
5 | HARRY POTER-魔法石1 |
6 +------------------------+
7 1 row in set (0.02 sec)
8
9 +---------------------+
10 | bkname |
11 +---------------------+
12 | HARRY POTER-密室2 |
13 +---------------------+
14 1 row in set (0.02 sec)
15
16 +------------------------+
17 | bkname |
18 +------------------------+
19 | HARRY POTER-凤凰社3 |
20 +------------------------+
21 1 row in set (0.03 sec)
22
23 +------------------------+
24 | bkname |
25 +------------------------+
26 | HARRY POTER-火焰杯4 |
27 +------------------------+
28 1 row in set (0.06 sec)
29
30 +---------------------------+
31 | bkname |
32 +---------------------------+
33 | HARRY POTER-死亡圣器5 |
34 +---------------------------+
35 1 row in set (0.09 sec)
36
37 Query OK, 0 rows affected (0.13 sec)
MYSQL存储过程-练习5 游标的更多相关文章
- mysql 存储过程中使用游标中使用临时表可以替代数组效果
mysql不支持数组.但有时候需要组合几张表的数据,在存储过程中,经过比较复杂的运算获取结果直接输出给调用方,比如符合条件的几张表的某些字段的组合计算,mysql临时表可以解决这个问题.临时表:只有在 ...
- mysql存储过程中使用游标
用户变量一般以@开头,作用于全局范围 局部变量需用 declare 定义格式为 declare 变量名 数据类型 [default value]; mysql 数据类型有 int ,float,dat ...
- MySql存储过程—7、游标(Cursor)
|字号 订阅 1.游标的作用及属性 游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作:游标有下面这些属性: a.游标是只读的,也就是不能更新它: b.游标是不能滚动的,也就是只能 ...
- MySQL存储过程入门教程
存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且 ...
- mysql存储过程之游标遍历数据表
原文:mysql存储过程之游标遍历数据表 今天写一个mysql存储过程,根据自己的需求要遍历一个数据表,因为对存储过程用的不多,语法不甚熟悉,加之存储过程没有调试环境,花了不少时间才慢慢弄好,故留个痕 ...
- MySQL存储过程之游标实战
MySQL存储过程之游标实战 博主日前在解决一个项目需求时,没有什么好的方法,于是就来学习存储过程了,之前也是接触过,奈何年少贪玩,竟是全部又还给了大学老师-苦不堪言呐-. 先说一下业务需求吧 ...
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
- mysql存储过程游标嵌套循环
自己写的一个mysql存储过程如下: BEGIN DECLARE _did bigint(20);DECLARE _count int;DECLARE s1 int;DECLARE cur_1 CUR ...
- Mysql 存储过程中使用多游标
Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...
- MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明
MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...
随机推荐
- 【Keepalived】KP + NGINX 多机热备学习
案例搭建 环境是三台机器,两台也可以 最后一个IP是测试的VIP 192.168.124.21 centos6-1 192.168.124.22 centos6-2 192.168.124.23 ce ...
- 清华镜像源、阿里镜像源全部失效后怎么办 —— conda 服务器代理配置 —— Jax框架的安装
相关: conda 服务器代理配置 最近在用anaconda安装Jax框架,发现直接使用官方源下载的速度十分的慢,估计要需20个小时才能下载完成,对于这种情况第一个感觉就是使用镜像源来进行下载. 但是 ...
- Python报错:performance hint: av/logging.pyx:232:5: the GIL to be acquired
参考: https://stackoverflow.com/questions/77410272/problems-installing-python-av-in-windows-11 https:/ ...
- 使用Django-Channels实现websocket通信+大模型对话
前言 最近一直在做这个大模型项目,我选了 Django 作为框架(现在很多大模型应用都用的 FastAPI,不过我已经用习惯 Django 了) 之前使用 AspNetCore 作为后端的时候,我先后 ...
- MPTCP(一) :MPTCP概览
MPTCP概览 参考链接 MPTCP官网 http://multipath-tcp.org/ MPTCP入门 https://access.redhat.com/documentation/zh-cn ...
- Java中处理SocketException: Connection reset”异常的方法
Java中处理SocketException: Connection reset"异常的方法 在Java编程中,有时候我们会遇到java.net.SocketException: Conne ...
- JavaScript设计模式样例五 —— 建造者模式
建造者模式(Builder Pattern) 定义:使用多个简单的对象一步一步构建成一个复杂的对象. 目的:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 场景:一些基本部件不 ...
- windows中MySQL迁移数据存放盘符位置
由于刚开始安装mysq时都选择了默认安装,数据存放在了c盘,后面数据量过大c盘不堪重负,所以迁移数据到D盘 windows中MySQL迁移数据存放盘符位置 参考: https://blog.csdn. ...
- dfs剪枝与优化
搜索树 剪枝方法 1.优化搜索顺序 2.排除等效冗余 3.可行性 4.最优性(估价) 5.记忆化(树形不会重复计算时不需要) A.针对每个维度边界信息缩放.推倒 B.计算未来最少花费 C.结合各维度的 ...
- 在 Python 中通过读取 .env 文件获得环境变量
在编写 Python 脚本时,我们会使用一些私密数据,如调用 API 时使用的 token.为了避免隐私泄露,这些私密数据一般不直接写入脚本文件中.而是写入一个文件,并通过读取文件的方式获取私密数据内 ...