`
collegeyuan
  • 浏览: 30969 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
Mysql存储过程查询结果赋值到变量的方法
 
把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:
 
01
drop table if exists test_tbl;
02
create table test_tbl (name varchar(20), status int(2));
03
insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
04

05
drop procedure IF EXISTS pro_test_3;
06
delimiter //
07
create procedure pro_test_3()
08
begin
09
--  方式 1
10
    DECLARE cnt INT DEFAULT 0;
11
    select count(*) into cnt from test_tbl;
12
    select cnt;
13

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

18
--  方式 3
19
    select count(*) into @cnt1 from test_tbl;
20
    select @cnt1;
21

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

29
call pro_test_3();
分享到:
评论

相关推荐

    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存储过程实现分页

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

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

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

    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实验报告5(存储过程与函数)(1)(1).pdf

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

    MYSQL存储过程.pdf

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

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

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

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

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

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

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

    MYSQL存储过程技术(ppt文档).ppt

    MYSQL存储过程是数据库中的一个重要组件,它可以存储在数据库中的一组SQL代码,用于执行特定的工作,如查询和更新。在本文档中,我们将深入探讨MYSQL存储过程的概念、优点、基本语法、变量、流程控制结构语句、注释...

    MYSQL触发器与存储过程.ppt

    存储过程可以接受参数,返回结果,包含流程控制结构(如条件判断、循环),并且可以使用变量。以下是如何创建和调用存储过程的示例: 1. **创建存储过程**: ```sql delimiter $$ CREATE PROCEDURE procedure_...

    MYSQL的存储过程和函数简单写法

    【MySQL存储过程与函数简介】 MySQL的存储过程和函数是数据库管理中强大的工具,它们允许开发者将一组SQL语句组织在一起,形成一个可重用的模块,以执行复杂的业务逻辑。这种概念类似于高级编程语言(如Java)中的...

Global site tag (gtag.js) - Google Analytics