首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

第16章_变量、流程控制与游标

结合创建存储过程 SQL 语句代码可以得出:在存储过程未定义条件和处理程序,且当存储过程执行 SQL 语句报错时,MySQL 数据库会抛出错误,并退出当前 SQL 逻辑,不再向下继续执行。...流程控制 解决复杂问题不可能通过一个 SQL 语句完成,我们需要执行多个 SQL 操作。流程控制语句作用就是控制存储过程 SQL 语句执行顺序,是我们完成复杂操作必不可少一部分。...CASE 语句语法结构 1: #情况一:类似于switch CASE 表达式 WHEN 值1 THEN 结果1或语句1(如果是语句,需要加分号) WHEN 值2 THEN 结果2或语句2(如果是语句...ELSE 结果n或语句n(如果是语句,需要加分号) END [case](如果是放在begin end需要加上case,如果放在select后面不需要) 举例 1: 使用 CASE 流程控制语句第...文件,下次启动时会读取该文件,用其中配置来覆盖默认配置文件。

28310

MySQL存储过程

存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能SQL语句集,经编译后存储在数据库,用户通过指定存储过程名字并给定参数(如果该存储过程带有参数...存储过程是可编程函数,在数据库创建并保存,可以由SQL语句和控制结构组成。当想要在不同应用程序或平台上执行相同函数,或者封装特定功能时,存储过程是非常有用。...CONTAINS SQL表示子程序包含SQL语句,但不包含读或写数据语句; NO SQL表示子程序不包含SQL语句; READS SQL DATA表示子程序包含读数据语句; MODIFIES SQL...语句 #CASE-WHEN-THEN-ELSE语句 DELIMITER // CREATE PROCEDURE proc4 (IN parameter INT) BEGIN DECLARE...,语句标号只能在合法语句前面使用

13.7K30

Oracle存储过程详解(一)

用select … into … 给变量赋值 在代码抛异常用 raise+异常名 已命名异常: 命名系统异常 产生原因 ACCESS_INTO_NULL 未定义对象 CASE_NOT_FOUND...CASE 若未包含相应 WHEN ,并且没有设置ELSE 时 COLLECTION_IS_NULL 集合元素未初始化 CURSER_ALREADY_OPEN 游标已经打开 DUP_VAL_ON_INDEX...唯一索引对应列上有重复值 INVALID_CURSOR 在不合法游标上进行操作 INVALID_NUMBER 内嵌 SQL 语句不能将字符转换为数字 NO_DATA_FOUND 使用 select.../SQL系统包 ROWTYPE_MISMATCH 宿主游标变量与 PL/SQL 游标变量返回类型不兼容 SELF_IS_NULL 使用对象类型时,在 null 对象上调用对象方法 STORAGE_ERROR...使用如下语句: select sum(vcount) into fcount from A where bid='xxxxxx'; 如果A表不存在bid=”xxxxxx”记录,则fcount=null

1.7K30

MySQL操作之存储过程

案例: CREATE PROCEDURE Proc () BEGIN SELECT * FROM student; END 2.2、变量使用 在编写存储过程,会使用变量保存数据处理过程值。...MySQL,变量可以在子程序声明并使用,变量作用范围是在BEGIN...END程序。 想要在存储过程中使用变量,首先需要定义变量。使用declare语句定义变量。...2、CASE语句 格式一: CASE case_expr WHEN when_value THEN statement_list [WHEN when_value THEN statement_list...characteristic:表示要修改存储过程哪个部分。 CONTAINS SQL:表示子程序包含SQL语句,但不包含读或写数据语句。 NO SQL:表示子程序不包含SQL语句。...READS SQL DATA:表示子程序包含读数据语句。 MODIFIES SQL DATA:表示子程序包含写数据语句

22120

关系数据库之存储过程

因为 SQL Server 数据库为商业软件,所以其使用率较开源 MySQL 来说要低一些。对于大数据处理来说, MySQL 更有优势,这就更使得很多中型、大型网站都使用 MySQL 。...它通过编译后存储在数据库,用户可以像调用函数一样通过特定方式执行存储过程。 简单来讲,存储过程就是封装了一堆 SQL 语句,方便复用。如此直白,应该不会不理解了。...一般在 mysql ,我们使用封号来结束语句,可以临时修改为其他符号: -- 将语句结束符号从封号;临时改为两个$$或//(可以是自定义)DELIMITER $$或DELIMITER // ‍ 2...; case when var=0 then insert into t values(30); when var>0 then when var<0 then...,语句标号只能在合法语句前面使用

1.2K21

oracle存储过程语法与使用

行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2:   IS关键词表明后面将跟随一个...行3:   BEGIN关键词表明PL/SQL开始。...行4:   NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL至少需要有一句; 行5:   END关键词表明PL/SQL结束 2.SELECT INTO...cursor%NOTFOUND; –SYS_REFCURSOR 使用三个状态属性: —%NOTFOUND( 未找到记录信息) %FOUND( 找到记录信息) —%ROWCOUNT( 然后当前游标所指向行位置...– 错误 但是挑出字段可以取别名 2.在存储过程,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别论了。

85220

mysql高级

这是给博主最大支持。以后博主会更新大量优质作品!!!!...一、MySQL存储过程和函数 1.存储过程和函数概念 存储过程和函数是 事先经过编译并存储在数据库一段 SQL 语句集合 2.存储过程和函数好处 存储过程和函数可以重复使用,减轻开发人员工作量...@@变量名: 这种在变量前加上 "@@" 符号, 叫做系统变量 8.5case语句使用 标准语法1 -- 标准语法 CASE 表达式 WHEN 值1 THEN 执行sql语句1; [WHEN 值2...[ELSE 执行sql语句n;] END CASE; 标准语法2 -- 标准语法 CASE WHEN 判断条件1 THEN 执行sql语句1; [WHEN 判断条件2 THEN 执行sql语句2;] ....存储过程是 事先经过编译并存储在数据库一段 SQL 语句集合。

65940

【愚公系列】2022年01月 Mysql数据库-存储过程和函数

8.1存储过程语法介绍 8.2变量使用 8.3if语句使用 8.4参数传递 8.5case语句使用 8.6while循环 8.7repeat循环 8.8loop循环 8.9游标 9.存储过程总结...10.存储函数 一、MySQL存储过程和函数 1.存储过程和函数概念 存储过程和函数是 事先经过编译并存储在数据库一段 SQL 语句集合 2.存储过程和函数好处 存储过程和函数可以重复使用,...表达式 WHEN 值1 THEN 执行sql语句1; [WHEN 值2 THEN 执行sql语句2;] ......[ELSE 执行sql语句n;] END CASE; 标准语法2 -- 标准语法 CASE WHEN 判断条件1 THEN 执行sql语句1; [WHEN 判断条件2 THEN 执行sql语句2;] ....存储过程是 事先经过编译并存储在数据库一段 SQL 语句集合。

67520

MySQL学习笔记-进阶部分

[else statement_list]end if1.4.2、case 条件语句if语句适用于二选一情况,如果提供多个选择时,可以使用case语句。...存储过程 case 语句语法第一种语法:case 字段名when value1 then statement_list[when value1 then statement_list]......2.1、存储过程创建存储过程和函数是指经常使用一组SQL语句组合在一起,并将这些SQL 语句当做一个整体存储在 MySQL 服务器。2.1.1、存储过程优缺点优点:(1)更快速度。...默认为definercomment 'message'函数注释信息,指明函数功能创建存储过程时,系统默认指定contains SQL,它标识存储过程使用SQL语句,如果存储过程没有使用SQL语句...注意:对于insert语句,只有new是合法,表示当前已插入记录;对于delete语句,只有old才合法,表示当前删除记录;而update语句可以和new(更新后)以及old(更新前)同时使用

24210

MySQL高级篇-流程控制语句

(77) ; 1.2 CASE语句 CASE语句语法结构1: #情况一:类似于switch CASE 表达式 WHEN 值1 THEN 结果1或语句1(如果是语句,需要加分号) WHEN 值2...ELSE 结果n或语句n(如果是语句,需要加分号) END [case](如果是放在begin end需要加上case,如果放在select后面不需要) CASE语句实际案例 # CASE 语句...ELSE 结果n或语句n(如果是语句,需要加分号) END [case](如果是放在begin end需要加上case,如果放在select后面不需要) # 通过SQL语句查看 SELECT...# 在存储过程中使用 CREATE PROCEDURE PROC_CASE1(IN AGE INT) BEGIN # 类似于JavaSwitch语句 CASE AGE WHEN 18...CALL PROC_CASE1(33); # CASE第二种用 #情况二:类似于多重if CASE WHEN 条件1 THEN 结果1或语句1(如果是语句,需要加分号) WHEN 条件2 THEN

57010

【数据库原理与运用|MySQL】MySQL存储过程(详细超全)

case 循环 while repeat loop 游标 异常处理 存储过程handler MySQL储存过程 存储过程介绍及其特性 存储过程介绍 MySQL 5.0 版本开始支持存储过程。...简单说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂逻辑功能,类似于JAVA语言中方法; 存储过就是数据库 SQL 语言层面的代码封装与重用。...begin         sql语句         end 自定义结束符号 delimiter ; delimiter $$  create procedure proc02()...$$ create procedure proc_15_case(in score int) begin case when score < 60 then select '不及格'; when..., 在存储过程和函数可以使用光标对结果集进行循环处理。

1.2K30

MySQL 存储过程与函数(精简笔记)

存储程序可以分为存储过程和函数,MySQL创建存储过程和函数使用语句分别是:CREATE PROCEDURE和CREATE FUNCTION.使用CALL语句来调用存储过程,只能用输出变量返回值.函数可以从语句外调用...创建带参存储过程: 创建一个存储过程,查询lyshark表记录,过程名称为CountProc,并使用count(*)计算后把结果放入参数param1,SQL语句如下: MariaDB [lyshark...声明使用变量 变量可以在子程序声明并使用,这些变量作用范围实在BEGIN...END程序,本小姐将介绍定义和赋值一个变量,定义变量语句如下: DECLARE var_name[,varname]...光标文件. close cursor_lyshark 使用流程控制 流程控制语句用来根据条件控制语句执行,MySQL中用来构造控制流程语句有:IF,CASE,LOOP,LEAVE,ITERATE,...REPEAT,WHILE等,每个流程可能包含一个单独语句,或者是使用BEGIN...END构造复合语句,构造可以被嵌套.

1.9K10
领券