关注微信公共号:小程在线

关注CSDN博客:程志伟的博客

一、无参数无返回值存储过程

DELIMITER表示自定义结束符号,SQL一般默认;为结束符号

红色部分为固定格式

下面的查询语句,可以改成任意复杂的SQL语句

DELIMITER $

CREATE PROCEDURE select_all_data()
BEGIN
    SELECT * FROM employees;
END $

DELIMITER ;

调用存储过程:

call select_all_data

二、创建存储过程将最低薪资通过OUT参数“ms”输出

DELIMITER //

CREATE PROCEDURE show_min_salary(OUT ms DOUBLE)
BEGIN
    SELECT MIN(salary) INTO ms
    FROM employees;
END //

DELIMITER ;

调用存储过程: @表示该变量是用户自定义

call show_min_salary(@ms)

查看:

SELECT @ms;

三、创建存储过程用IN参数empname输入员工姓名。

DELIMITER //

CREATE PROCEDURE show_someone_salary(IN empname VARCHAR(20))
BEGIN
    SELECT salary FROM employees
    WHERE last_name = empname;
END //

DELIMITER ;

调用存储过程:

CALL show_someone_salary('Abel');

四、创建存储过程用IN参数empname输入员工姓名,用OUT参数empsalary输出员工薪资。

DELIMITER //

CREATE PROCEDURE show_someone_salary2(IN empname VARCHAR(20),OUT empsalary DECIMAL(10,2))
BEGIN
    SELECT salary INTO empsalary
    FROM employees
    WHERE last_name = empname;
END //

DELIMITER ;

调用存储过程:
SET @empname = 'Abel';
CALL show_someone_salary2(@empname,@empsalary);

SELECT @empsalary;

五、创建存储过程查询某个员工领导的姓名,并用INOUT参数“empname”输入员工姓名,输出领导的姓名。

DELIMITER $

CREATE PROCEDURE show_mgr_name(INOUT empname VARCHAR(25))
BEGIN

SELECT last_name INTO empname
    FROM employees
    WHERE employee_id = (
                SELECT manager_id
                FROM employees
                WHERE last_name = empname
                );
    
END $

DELIMITER ;

调用存储过程:
SET @empname := 'Abel';
CALL show_mgr_name(@empname);

SELECT @empname;

Mysql 存储过程案例教程相关推荐

  1. mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...

    从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...

  2. MySQL存储过程--菜鸟教程

    文章目录 1. MySQL存储过程 1. MySQL存储过程 菜鸟教程

  3. mysql存储过程详细教程

    原文 记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分;  CEATE PROCEDURE demo_in_parameter(IN p_in int) 声明存 ...

  4. mysql inputoutput_PHP:同时使用INPUT和OUTPUT参数(不“ INOUT”)调用MySQL存储过程

    从PHP,我想在MySQL中调用存储过程.该过程采用输入 和 输出参数- 而不是 " INOUT" 参数. 对于一个简单的示例,说我在MySQL中具有以下存储过程: DELIMIT ...

  5. mysql 存储过程 out 用处_mysql存储过程 OUT or INOUT argument 3 for routine

    mysql存储过程出现: OUT or INOUT argument 3 for routine gotask.UserLogin is not a variable or NEW pseudo-va ...

  6. MySQL存储过程系列

    mysql存储过程详细教程 记录MYSQL存储过程中的关键语法: DELIMITER // 声明语句结束符,用于区分;  CEATE PROCEDURE demo_in_parameter(IN p_ ...

  7. mysql query browswer_MySQL数据库新特性之存储过程入门教程

    MySQL数据库新特性之存储过程入门教程 在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用 ...

  8. mysql数据库入门教程(13):存储过程

    存储过程 过程块sql主要有两种类型,几命名块和匿名块.匿名块每次执行时都要编译,而且不能存储到存储过程中,也不能在其他过程化sql块中调用,过程和函数时命名块,他们在编译时保存在数据库中,成为持久型 ...

  9. 十三、MySQL存储过程相关知识总结 + 案例讲解(强化)

    一.存储过程VS函数 存储过程和函数:类似于java中的方法 好处: 1.提高代码的重用性 2.简化操作 二.存储过程 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 1.提高代码的重用性 ...

最新文章

  1. 关于mount --bind的理解。
  2. 中考计算机考试作文,中考理化实验计算机考试作文
  3. 人工智能,不止于技术的革命--WOT2017全球创新技术峰会开幕
  4. if...else..的错误用法
  5. (转载)Android开发者必知的开发资源
  6. editplus php格式化,让Editplus自动格式化css和js
  7. 基于LED或红外激光的可见光音频系统
  8. 设计模式——仲裁模式
  9. 传感器中的NC引脚和DNC引脚的区别
  10. 如何运营一个微信公众号
  11. win10安装跳过创建Microsoft账户
  12. 牛客网软件测试面试题总结
  13. HTML Responsive Web Page
  14. C语言:递归实现N的阶乘
  15. Vue的全局事件总线实现任意组件间通信
  16. 前端 开关按钮样式_7款外观迷人的HTML5/CSS3 3D按钮特效
  17. 如何基于无代码平台实现60个园区、3万台设备的管理?
  18. Java:for循环结构及实例
  19. 美宇航局好奇号核动力火星车:六条腿和一只胳膊
  20. 抖音工会9月份最新政策改革;公会主播该何去何从丨国仁网络资讯

热门文章

  1. Windows服务器时间偏差大问题校正
  2. java实践项目_20个Java练手项目,实践才是硬道理
  3. flag 60牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,
  4. ssh mysql视屏_ssh+MySQL开发VOD视频点播系统
  5. PowerBuilder 开发的游戏(扫雷)
  6. UNIX文件操作函数open、create、close、lseek简介
  7. HTML5 input新增type属性color颜色拾取器是怎样使用的?你可能不知道的javascript获取法?(95)
  8. 基于java前行国家公务员模拟笔试系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
  9. ¥9.9拼5节scratch青少儿编程课程,还能领取少儿编程大礼包!快分享吧!
  10. 【乐逍遥网站设计】网站设计一般多少钱