存储过程中可以使用变量、条件
1.定义变量
通过DECLARE可以定义一个变量,不过是局部的。它的作用范围只能在BEGIN...END有效,可以用在嵌套的块中;当然可以用default设置默认值。
DECLARE var_name [,.....] type [DEFAULT value]
示例:定义一个变量
DECLARE last_day_start DATE --定义一个DATE型的变量,名称为last_day_start
2.变量赋值
可以直接赋值,可以查询赋值。
--直接赋值使用set,可以赋常量或者赋表达式
--语法格式
SET var_name = expr [,var_name = expr.....]
示例:给上面定义的变量赋值
SET last_day_start = DATE_SUB(CURRENT_DATE(),INTERVAL 1 MONTH) --给变量赋值
通过查询给变量赋值
--通过查询给变量赋值
--语法格式
SELECT col_name[,...] INTO var_name [,....] table_expr
--示例 将查询结果给变量赋值
DECLARE v_payment DECIMAL(5,2); --定义一个变量
--使用查询给变量赋值
SELECT IFNULL(SUM(payment.amount),0) INTO v_payment FROM payment
3.条件的定义
--定义条件的语法格式
DECLARE condition_name CONDITION FOR condition_value
condition_value:
SQLSTATE [VALUE] sqlstate_value
| mysql_error_code
4.条件的处理
---条件的处理
DECLARE handler_type HANDLER FOR condition_value [,....] sp_statement
handler_type:
CONTINUE | EXIT | UNDO
condition_value:
SQLSTATE [VALUE]
| condition_name
| SQLWARNING
| NOT FOUND
| SQLEXCEPTION
| mysql_error_code
示例:
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2=1
CONTINUE 表示继续向下执行;
EXIT 表示执行中止。
分享到:
相关推荐
### MySQL 5.5 服务器变量详解 #### autocommit={0|1} - **定义**: 控制MySQL事务是否在每次执行数据修改语句后自动提交。设置为1时,每条修改语句(如 INSERT、UPDATE 或 DELETE)都会立即提交;设置为0则需要...
MySQL作为一款广泛使用的开源关系型数据库管理系统,其系统变量对于数据库的整体性能、安全性以及功能扩展等方面起着至关重要的作用。通过对这些变量的合理配置与优化,不仅可以提高数据库系统的运行效率,还能确保...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。本教程将深入探讨MySQL的安装过程,并指导如何正确设置环境变量,确保系统能够轻松访问MySQL的命令行工具。 首先,我们来了解一下MySQL的...
MySQL 环境变量配置 MySQL 环境变量配置是 MySQL 配置方法中最重要的一步,因为它可以让操作系统明确地知道 MySQL 的安装位置和程序的路径。 在配置 MySQL 环境变量之前,我们需要了解环境变量的作用。环境变量是...
#### 三、MySQL环境变量配置步骤 1. **确定MySQL安装路径**:首先需要明确MySQL的具体安装路径,例如本例中的`D:\Program Files\MySQL\MySQL Server 5.7`。 2. **配置MYSQL_HOME**: - 打开系统的环境变量编辑器...
MySQL存储过程是数据库中一种非常实用的功能,它允许开发者封装一系列SQL语句成一个可重复使用的单元,便于管理和执行复杂的数据库操作。本篇文章将详细探讨如何在MySQL中创建存储过程、调用存储过程以及声明和赋值...
在Kettle8中,模拟表输入查询表名并使用变量是一项常见的数据处理任务,它涉及到工作流中的动态数据源选择和参数化。Kettle8,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取、转换、加载)工具,...
系统变量中包括会话级变量(当次会话连接生效的变量,如names),以及全局变量(一直生效的变量) 【系统变量中全局变量和会话变量其实是使用一套变量,不同的是会话变量仅当次会话生效。】 会话变量的赋值:set ...
在查询中,用户变量的赋值和使用通常结合IF条件语句和计算表达式,如: ```sql @v_rownum := @v_rownum+1, if(@v_fid=a.fid,@v_rowid:=@v_rowid+1,@v_rowid:=1) as row_count, @v_fid:=a.fid ``` 这段代码中,`@...
MySQL 5.7在Windows 10上的安装通常涉及多个步骤,包括下载安装包、配置环境变量、创建数据目录、初始化数据库以及设置密码等。这个名为"mysql5.7 windows bat脚本一键安装.zip"的压缩包文件提供了一个便捷的方法,...
本文将围绕 MySQL 存储过程中的几个核心概念展开讲解:变量声明与赋值、条件语句 IF 的使用、三种循环结构(WHILE 循环、REPEAT 循环和 LOOP 循环),并提供具体的应用示例。 #### 二、变量声明与赋值 在 MySQL ...
一、变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin…end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default...
文章目录mysql学习笔记(1)——变量一、变量的分类:二、系统变量全局变量(1)概念及分类:(2)常用sql语句:(3)示范:(4)作用域会话变量示范三、自定义变量概念:用户变量(1) 作用域(2)使用步骤(3)示范局部变量...
### MySQL学习—程序选项修改器和使用选项设置程序变量 #### 一、程序选项修改器 在MySQL的学习过程中,理解如何有效地使用程序选项修改器是非常重要的。这些修改器可以帮助我们根据实际需求调整程序的行为,从而...
MySQL是世界上最流行的开源关系型数据库管理系统之一,尤其在Windows 10环境下,它为开发者提供了稳定、高效的数据存储和管理平台。以下是如何在Windows 10上安装、配置和运行MySQL,以及解决与Navicat连接时可能...
配置环境变量是必要的步骤,否则无法使用 MySQL 命令行工具。需要将 MySQL 的 bin 目录添加到系统的 Path 变量中。首先,需要右键点击“此电脑”,点击属性,然后点击高级系统设置,最后点击环境变量。在环境变量中...
在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。 但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。 一、局部变量 mysql局部变量,只能用在begin/end语句块中,比如...