`

Mysql那些事儿之(十三)变量、条件的使用

阅读更多

存储过程中可以使用变量、条件

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 服务器变量详解

    ### MySQL 5.5 服务器变量详解 #### autocommit={0|1} - **定义**: 控制MySQL事务是否在每次执行数据修改语句后自动提交。设置为1时,每条修改语句(如 INSERT、UPDATE 或 DELETE)都会立即提交;设置为0则需要...

    mysql全局变量.pdf

    MySQL作为一款广泛使用的开源关系型数据库管理系统,其系统变量对于数据库的整体性能、安全性以及功能扩展等方面起着至关重要的作用。通过对这些变量的合理配置与优化,不仅可以提高数据库系统的运行效率,还能确保...

    Mysql安装详解及环境变量设置

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,用于存储和管理数据。本教程将深入探讨MySQL的安装过程,并指导如何正确设置环境变量,确保系统能够轻松访问MySQL的命令行工具。 首先,我们来了解一下MySQL的...

    Mysql环境变量配置.doc

    MySQL 环境变量配置 MySQL 环境变量配置是 MySQL 配置方法中最重要的一步,因为它可以让操作系统明确地知道 MySQL 的安装位置和程序的路径。 在配置 MySQL 环境变量之前,我们需要了解环境变量的作用。环境变量是...

    MYSQL环境变量.txtMYSQL环境变量.txt

    #### 三、MySQL环境变量配置步骤 1. **确定MySQL安装路径**:首先需要明确MySQL的具体安装路径,例如本例中的`D:\Program Files\MySQL\MySQL Server 5.7`。 2. **配置MYSQL_HOME**: - 打开系统的环境变量编辑器...

    mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法

    MySQL存储过程是数据库中一种非常实用的功能,它允许开发者封装一系列SQL语句成一个可重复使用的单元,便于管理和执行复杂的数据库操作。本篇文章将详细探讨如何在MySQL中创建存储过程、调用存储过程以及声明和赋值...

    kettle8 模拟表输入查询表名,然后在另一个表输入中使用变量使用

    在Kettle8中,模拟表输入查询表名并使用变量是一项常见的数据处理任务,它涉及到工作流中的动态数据源选择和参数化。Kettle8,也称为Pentaho Data Integration (PDI),是一款强大的ETL(提取、转换、加载)工具,...

    mysql变量用法实例分析【系统变量、用户变量】

    系统变量中包括会话级变量(当次会话连接生效的变量,如names),以及全局变量(一直生效的变量) 【系统变量中全局变量和会话变量其实是使用一套变量,不同的是会话变量仅当次会话生效。】 会话变量的赋值:set ...

    mysql查询语句中用户变量的使用代码解析

    在查询中,用户变量的赋值和使用通常结合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 ``` 这段代码中,`@...

    mysql5.7 windows bat脚本一键安装.zip

    MySQL 5.7在Windows 10上的安装通常涉及多个步骤,包括下载安装包、配置环境变量、创建数据目录、初始化数据库以及设置密码等。这个名为"mysql5.7 windows bat脚本一键安装.zip"的压缩包文件提供了一个便捷的方法,...

    Mysql存储过程常用语句模板(含变量,if,三种循环等等)

    本文将围绕 MySQL 存储过程中的几个核心概念展开讲解:变量声明与赋值、条件语句 IF 的使用、三种循环结构(WHILE 循环、REPEAT 循环和 LOOP 循环),并提供具体的应用示例。 #### 二、变量声明与赋值 在 MySQL ...

    mysql 存储过程中变量的定义与赋值操作

    一、变量的定义 mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin…end 块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default...

    mysql学习笔记(1)——变量

    文章目录mysql学习笔记(1)——变量一、变量的分类:二、系统变量全局变量(1)概念及分类:(2)常用sql语句:(3)示范:(4)作用域会话变量示范三、自定义变量概念:用户变量(1) 作用域(2)使用步骤(3)示范局部变量...

    MySQL学习-程序选项修改器和使用选项设置程序变量.pdf

    ### MySQL学习—程序选项修改器和使用选项设置程序变量 #### 一、程序选项修改器 在MySQL的学习过程中,理解如何有效地使用程序选项修改器是非常重要的。这些修改器可以帮助我们根据实际需求调整程序的行为,从而...

    MySQL安装+配置+运行(Windows10)

    MySQL是世界上最流行的开源关系型数据库管理系统之一,尤其在Windows 10环境下,它为开发者提供了稳定、高效的数据存储和管理平台。以下是如何在Windows 10上安装、配置和运行MySQL,以及解决与Navicat连接时可能...

    在windows10电脑中安装配置mysql压缩包,文档详细介绍了如何下载和安装mysql压缩包,最终能打开很登录mysql软件

    配置环境变量是必要的步骤,否则无法使用 MySQL 命令行工具。需要将 MySQL 的 bin 目录添加到系统的 Path 变量中。首先,需要右键点击“此电脑”,点击属性,然后点击高级系统设置,最后点击环境变量。在环境变量中...

    MySQL变量原理及应用实例

    在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。 但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。 一、局部变量 mysql局部变量,只能用在begin/end语句块中,比如...

Global site tag (gtag.js) - Google Analytics