Mysql存储过程查询结果赋值到变量的方法
把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:
个人认为第三种方法比较合适,所以大家记住第三种就可以了,无论查出来的结果是单行还是单列都可以搞定。
BEGIN
SELECT id,name,sex,age INTO @t,@t2,@t3,@t4 FROM user1 WHERE id=1; SELECT @t,@t2,@t3,@t4;
END
很简单和方便。
如果是多行多列就要用到游标和虚拟表了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
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中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]
MySQL存储过程是数据库中一种非常实用的功能,它允许开发者封装一系列SQL语句成一个可重复使用的单元,便于管理和执行复杂的数据库操作。本篇文章将详细探讨如何在MySQL中创建存储过程、调用存储过程以及声明和赋值...
### MySQL存储过程实战知识点 #### 一、存储过程概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的逻辑控制结构、循环等操作,并且可以接受参数,执行完后还可以返回结果。存储过程可以提高数据处理...
### MySQL存储过程常用语句详解 #### 一、概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的流程控制逻辑,如条件判断、循环等,并可接受输入参数、返回单个或多个结果集以及输出参数。通过使用存储...
### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次查询的数据量,提高系统的响应速度和用户体验。MySQL作为一种广泛...
### MySQL存储过程详解 #### 一、MySQL存储过程概述 MySQL 存储过程是一种服务器端的编程技术,它允许开发者创建可重复使用的代码模块。这些模块可以包含一系列复杂的 SQL 语句和其他流程控制语句。MySQL 5.0 版本...
### MySQL存储过程与函数详解 #### 一、概述 MySQL是一种广泛使用的开源关系型数据库管理系统,在数据管理和存储方面提供了强大的支持。其中,存储过程和函数是MySQL提供的两种重要的编程特性,它们可以帮助开发者...
在函数和储存过程中使用的变量declear declear a int unsigned default 1; 这种变量需要设置变量类型 而且只存在在 begin..end 这段之内 select .. into.. 直接将表内内容赋值到指定变量当中 select name,bid ...
根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...
- **自定义变量**:可以在存储过程中声明变量,并对其进行赋值。 ```sql DECLARE a INT DEFAULT 100; SET a = 200; ``` - **用户变量**:以`@`开头,可以在不同的存储过程之间共享数据。 ```sql SET @...
以下将详细解释如何在MySQL存储过程中执行动态SQL语句。 首先,我们来看一个简单的例子: ```sql DROP PROCEDURE IF EXISTS my_procedure; CREATE PROCEDURE my_procedure() BEGIN DECLARE my_sql VARCHAR(500); ...
在本文档中,我们将深入探讨MYSQL存储过程的概念、优点、基本语法、变量、流程控制结构语句、注释语法、使用权限、条件和异常处理程序等。 MYSQL存储过程的概念 ------------------------ 存储过程是存储在数据库...
MySQL存储过程在软件测试中的应用主要体现在利用其高效生成和管理大量测试数据的能力,以提高软件测试的效率和质量。在软件测试过程中,测试数据扮演着至关重要的角色,需要模拟真实场景下的大量数据。随着软件系统...
内容概要:本文详细介绍了MySQL存储过程的各种功能和技术细节,包括变量的定义与赋值、传入与传出参数、条件语句(如if-then-else)、循环语句(如while和repeat)、游标的使用方法、函数的定义与使用以及事件调度器...
MySQL存储过程是数据库管理系统中的一种重要特性,它允许开发者预定义一组SQL语句,并将其封装成一个可重用的对象。存储过程在数据库设计和开发中扮演着关键角色,尤其是在处理复杂的业务逻辑和数据操作时。以下是...
MySQL中的存储过程和触发器是数据库管理中两个重要的高级特性,它们极大地增强了数据库的灵活性和安全性,同时也优化了性能。 **存储过程**是预编译的SQL语句集合,存储在数据库服务器上,可以在需要时被调用执行,...