`

Mysql 存储过程查询结果赋值到变量的方法

阅读更多

    把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:

drop table if exists test_tbl;
create table test_tbl (name varchar(20), status int(2));
insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);

drop procedure IF EXISTS pro_test_3;
delimiter //
create procedure pro_test_3()
begin
--  方式 1
	DECLARE cnt INT DEFAULT 0;
	select count(*) into cnt from test_tbl;
	select cnt;

--  方式 2
	set @cnt = (select count(*) from test_tbl);
	select @cnt;

--  方式 3
	select count(*) into @cnt1 from test_tbl;
	select @cnt1;

--  多个列的情况下似乎只能用 into 方式
	select max(status), avg(status) into @max, @avg from test_tbl;
	select @max, @avg;
end
//
delimiter ;

call pro_test_3();

 

refer:http://www.netingcn.com/mysql-procedure-set-into.html

 

分享到:
评论

相关推荐

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

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

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

    一、变量的定义 mysql中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]

    mysql 存储过程 实战

    这段代码定义了一个不接收任何参数的存储过程,它首先声明了一个变量 `c`,然后通过 `SELECT COUNT(*) INTO` 将查询结果直接赋值给变量 `c`。这里的 `macos` 表是假设存在的表名,`flag` 是表中的一个字段。 #### ...

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

    ### MySQL存储过程常用语句详解 #### 一、概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的流程控制逻辑,如条件判断、循环等,并可接受输入参数、返回单个或多个结果集以及输出参数。通过使用存储...

    mysql存储过程实现分页

    ### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次...总之,利用MySQL存储过程实现分页是一个非常实用且高效的方法。

    Mysql存储过程和函数

    INTO`将查询结果赋值给变量。 ```sql SET var_name = expr; SELECT col_name INTO var_name FROM table_expr; ``` - **光标的使用**: 光标可以用来处理结果集,其使用包括声明、打开、获取和关闭。 ```...

    MySQL存储过程 MySQL存储过程

    ### MySQL存储过程详解 #### 一、MySQL存储过程概述 MySQL 存储过程是一种服务器端的编程技术,它允许开发者创建可重复使用的代码模块。这些模块可以包含一系列复杂的 SQL 语句和其他流程控制语句。MySQL 5.0 版本...

    MySQL 声明变量及存储过程分析

     直接将表内内容赋值到指定变量当中 select name,bid into @a,@b from bank limit 1; 要注意一点就是变量名不能和字段名一致 存储过程 存储过程将一段通用的操作封装在一起 这样再不同平台都可以公用了 储存...

    MySQL实验报告5(存储过程与函数)(1)(1).pdf

    根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...

    shell简单处理mysql查询结果的方法

    这篇关于“shell简单处理mysql查询结果的方法”的文章旨在介绍如何在shell脚本中有效地处理MySQL查询返回的数据。 首先,我们需要理解shell脚本中的数组和字符串特性。在shell中,数组可以用来存储一组相关的值,...

    MYSQL存储过程.pdf

    根据提供的文件信息,我们可以深入探讨MySQL存储过程的相关知识点,包括其基本语法、数据类型与运算符、流程控制以及输入和输出等内容。 ### MySQL存储过程概述 MySQL存储过程是一种预编译的SQL脚本,可以存储在...

    mysql存储过程 在动态SQL内获取返回值的方法详解

    - `v_sqlcounts` 变量用于拼接查询总记录数的SQL语句,通过 `concat()` 函数将各个参数连接起来,并利用 `into` 关键字将结果存储到一个变量 `@recordcount` 中。 - `v_sqlselect` 变量则用于构建分页查询的SQL...

    MySQL 存储过程中执行动态SQL语句的方法

    总之,MySQL存储过程中的动态SQL提供了一种灵活的方式来应对不断变化的查询需求。通过合理地利用动态SQL,我们可以创建出更强大、更适应业务需求的存储过程。但同时,我们也需要注意其带来的潜在风险,确保代码的...

    MySQL存储过程的实现及其高级特性的应用

    内容概要:本文详细介绍了MySQL存储过程的各种功能和技术细节,包括变量的定义与赋值、传入与传出参数、条件语句(如if-then-else)、循环语句(如while和repeat)、游标的使用方法、函数的定义与使用以及事件调度器...

Global site tag (gtag.js) - Google Analytics