把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用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存储过程是数据库中一种非常实用的功能,它允许开发者封装一系列SQL语句成一个可重复使用的单元,便于管理和执行复杂的数据库操作。本篇文章将详细探讨如何在MySQL中创建存储过程、调用存储过程以及声明和赋值...
一、变量的定义 mysql中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]
这段代码定义了一个不接收任何参数的存储过程,它首先声明了一个变量 `c`,然后通过 `SELECT COUNT(*) INTO` 将查询结果直接赋值给变量 `c`。这里的 `macos` 表是假设存在的表名,`flag` 是表中的一个字段。 #### ...
### MySQL存储过程常用语句详解 #### 一、概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的流程控制逻辑,如条件判断、循环等,并可接受输入参数、返回单个或多个结果集以及输出参数。通过使用存储...
### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次...总之,利用MySQL存储过程实现分页是一个非常实用且高效的方法。
INTO`将查询结果赋值给变量。 ```sql SET var_name = expr; SELECT col_name INTO var_name FROM table_expr; ``` - **光标的使用**: 光标可以用来处理结果集,其使用包括声明、打开、获取和关闭。 ```...
### MySQL存储过程详解 #### 一、MySQL存储过程概述 MySQL 存储过程是一种服务器端的编程技术,它允许开发者创建可重复使用的代码模块。这些模块可以包含一系列复杂的 SQL 语句和其他流程控制语句。MySQL 5.0 版本...
直接将表内内容赋值到指定变量当中 select name,bid into @a,@b from bank limit 1; 要注意一点就是变量名不能和字段名一致 存储过程 存储过程将一段通用的操作封装在一起 这样再不同平台都可以公用了 储存...
根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...
这篇关于“shell简单处理mysql查询结果的方法”的文章旨在介绍如何在shell脚本中有效地处理MySQL查询返回的数据。 首先,我们需要理解shell脚本中的数组和字符串特性。在shell中,数组可以用来存储一组相关的值,...
根据提供的文件信息,我们可以深入探讨MySQL存储过程的相关知识点,包括其基本语法、数据类型与运算符、流程控制以及输入和输出等内容。 ### MySQL存储过程概述 MySQL存储过程是一种预编译的SQL脚本,可以存储在...
- `v_sqlcounts` 变量用于拼接查询总记录数的SQL语句,通过 `concat()` 函数将各个参数连接起来,并利用 `into` 关键字将结果存储到一个变量 `@recordcount` 中。 - `v_sqlselect` 变量则用于构建分页查询的SQL...
总之,MySQL存储过程中的动态SQL提供了一种灵活的方式来应对不断变化的查询需求。通过合理地利用动态SQL,我们可以创建出更强大、更适应业务需求的存储过程。但同时,我们也需要注意其带来的潜在风险,确保代码的...
内容概要:本文详细介绍了MySQL存储过程的各种功能和技术细节,包括变量的定义与赋值、传入与传出参数、条件语句(如if-then-else)、循环语句(如while和repeat)、游标的使用方法、函数的定义与使用以及事件调度器...