mysql使用存储过程返回多个值 可以使用OUT、INOUT参数类型让存储过程返回多个结果,存储函数不能胜任,因为只能返回一个。比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数,让调用者可以访问它们: delimiter $$create procedure count_s

mysql使用存储过程返回多个值

可以使用OUT、INOUT参数类型让存储过程返回多个结果值,存储函数不能胜任,因为只能返回一个值。比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数值,让调用者可以访问它们:

delimiter $$

create procedure count_students_by_sex(out p_male int ,out p_female int)

begin

select count(*) from student where sex= 'M' into p_male;

select count(*) from student where sex='F' into p_feamle;

end $$

delimiter ;

在调用这个过程的时候,把参数替换为用户自定义变量。如:

CALL count_students_by_sex(@mcount,@fcount);

select 'Number of male students:',@mcount;

结果:

Number of male studens:

@mcount

Number of students:

16

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql多值存储过程_mysql使用存储过程回来多个值相关推荐

  1. mysql execute 存储过程_mysql之存储过程

    存储过程包含了一系列可执行的sql语句,存储过程存放于MySQL中,通过调用它的名字可以执行其内部的一堆sql 存储过程的优点 #1. 用于替代程序写的SQL语句,实现程序与sql解耦 #2. 可以通 ...

  2. mysql 过程和函数_MySQL:存储过程和函数

    变量 系统变量 变量由系统提供,不是用户自定义的,属于服务器层面 全局变量 会话变量 # 如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是会话 # 查看 ...

  3. navicat 怎么调试存储过程_Mysql调试存储过程最简单的方法

    以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. ...

  4. mysql 循环创建列_mysql – 查询列中的循环值

    我需要创建一个查询,一次只将一列的值移动一行↑: +------------+----------------+ | anotherCOL | values_to_loop | +---------- ...

  5. mysql auto increment 插入_MySQL里AUTO_INCREMENT表里插入0值的问题

    在使用MYSQL数据库时,无法设置AUTO_INCREMENT从0开始自增,之后查询了相关资料整理. 快速概览 AUTO_INCREMENT列满足条件 在不同数据库引擎下所具有的特征 解决AUTO_I ...

  6. mysql 定义存储过程_mysql——定义——存储过程和函数——概念

    存储过程和函数是指将经常使用的一组SQL语句组合在一起,并将这些SQL语句当作一个整体存储在服务器中 一.创建存储过程 语法格式: create procedure sp_name ( [ proc_ ...

  7. java mysql 触发器 存储过程_mysql 触发器 存储过程 java调用

    触发器和存储过程是为了提高SQL的运行效率. SQL语句先编译.后执行,而触发器与存储过程都会提前预编译完成,且只编译一次,供反复调用. 随着时代的进步,硬件与带宽的提升,触发器和存储过程提升效率并不 ...

  8. mysql触发器和存储过程_MySql的存储过程和触发器

    Mysql的存储过程是类似于其它编程语言中的函数的功能,存储过程内部可以使用顺序循环和转移三种基本程序结构,而且整个存储过程可以接受和返回参数. 创建存储过程(procedure)时,因为其内部有以; ...

  9. mysql 触发器定义变量_MySQL 函数存储过程触发器定义简单示例

    1.变量提示 NEW 是新值-- OLD 是旧值 INSERT 只有NEW ----UPDATE有NEW和OLD ---DELETE只有OLD 2.准备测试表(userinfo.userinfolog ...

最新文章

  1. 当代的设计潮流是什么_解码“潮流合伙人”IP生意经
  2. 涨点明显 | 全面刷新COCO检测和分割Top-1(附论文下载)
  3. VMTK学习——02.基本的PYPES教程
  4. mutation annovar
  5. STM32开发 -- Ublox GPS之设置PUBX
  6. 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
  7. 了解ThreadLocal背后的概念
  8. 混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践
  9. 服务器显示AL024是什么意思,云端时代云终端快速部署指南(S11AL).ppt
  10. Springboot+Thymeleaf《药品管理系统》
  11. 低俗文章之傻傻分不清楚的IC和ID卡(手稿)
  12. Kali2020.1安装AWVS12 详细过程
  13. Android Content Providers(二)——Contacts Provider
  14. PLSQL 教程 简单上手教程
  15. Python爬取QQ音乐并下载
  16. 【工具封装】不用 for 循环, 教你如何向MySQL数据库批量插入数据
  17. 从前端到管理者,小i机器人成长体验如何?
  18. OpenSSL下载安装
  19. 随机数产生器(random number generator)
  20. C++:MFC+VS2019当你Dlg右键“转到”对话框,提示“未能完成操作,拒绝访问”,资源视图中.re显示“X在另一个编辑器中打开”。

热门文章

  1. 怎样才算是一个好的老师???
  2. 《Ray Tracing in One Weekend》——Chapter 2: The vec3 class
  3. error: Program received signal SIGSEGV, Segmentation fault. (Codeblocks, C++)(2)
  4. 数据治理需要注意哪些问题
  5. 大数据分析技术有哪些应用步骤
  6. 数据可视化的优势有哪些
  7. 数据质量低该如何解决
  8. 了解令人困惑的物联网平台世界
  9. 删除下拉框只找23火星软件_下拉框搜索就找23火星软件/下拉框软件速来火星下拉...
  10. linux 并行 模式,并行设计模式-Master/Worker