TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货SQL存储过程和游标思维导图

SQL存储过程和游标思维导图

  收藏
  分享
免费下载
免费使用文件
大灰 浏览量:102022-11-18 23:02:01
已被使用0次
查看详情SQL存储过程和游标思维导图

MYSQL基础知识——SQL存储过程和游标

树图思维导图提供 SQL存储过程和游标 在线思维导图免费制作,点击“编辑”按钮,可对 SQL存储过程和游标  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:9d7b1ffb25aa7d77bd9c22ad6e584b23

思维导图大纲

SQL存储过程和游标思维导图模板大纲

游标

概述

游标(cursor)是一个存储在 DBMS 服务器上的数据库查询,它不是一条 SELECT 语句,而是被该语句检索出来的结果集。

在存储过程中使用游标可以对一个结果集进行移动遍历。

游标主要用于交互式应用,其中用户需要对数据集中的任意行进行浏览和修改。

使用游标的四个步骤:

声明游标,这个过程没有实际检索出数据;

打开游标;

取出数据;

关闭游标;

SQL语句示例:

DELIMITER $

CREATE PROCEDURE getTotal()

BEGIN

DECLARE total INT;

-- 创建接收游标数据的变量

DECLARE sid INT;

DECLARE sname VARCHAR(10);

-- 创建总数变量

DECLARE sage INT;

-- 创建结束标志变量

DECLARE done INT DEFAULT false;

-- 创建游标

DECLARE cur CURSOR FOR SELECT id,name,age from cursor_table where age>30;

-- 指定游标循环结束时的返回值

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = true;

SET total = 0;

OPEN cur;

FETCH cur INTO sid, sname, sage;

WHILE(NOT done)

DO

SET total = total + 1;

FETCH cur INTO sid, sname, sage;

END WHILE;

CLOSE cur;

SELECT total;END $DELIMITER ;

-- 调用存储过程

call getTotal();

存储过程

概述

存储过程可以看成是对一系列 SQL 操作的批处理;

使用存储过程的好处

代码封装,保证了一定的安全性;

代码复用;

由于是预先编译,因此具有很高的性能。

创建存储过程

命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。

包含 in、out 和 inout 三种参数。

给变量赋值都需要用 select into 语句。

每次只能给一个变量赋值,不支持集合的操作。

创建存储过程

DROP PROCEDURE IF EXISTS `proc_adder`;

DELIMITER ;;

CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_adder`(IN a int, IN b int, OUT sum int)

BEGIN

DECLARE c int;

if a is null then set a = 0;

end if;

if b is null then set b = 0;

end if;

set sum = a + b;

END

;;

DELIMITER ;

使用存储过程

set @b=5;

call proc_adder(2,@b,@s);

select @s as sum;

相关思维导图模板

科技计划项目资金预算编制总体要求的学习和整理思维导图

树图思维导图提供 科技计划项目资金预算编制总体要求的学习和整理 在线思维导图免费制作,点击“编辑”按钮,可对 科技计划项目资金预算编制总体要求的学习和整理  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:49470946de6296e1813ed1ed5efc14ba

低效和超龄导购员的管理计划思维导图

树图思维导图提供 低效和超龄导购员的管理计划 在线思维导图免费制作,点击“编辑”按钮,可对 低效和超龄导购员的管理计划  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:f7df47e61db6c5c13a363faab8770506