MySQL存储过程入门

创建不含有输入输出变量的存储过程

DELIMITER // -- 设定语句结束分隔符
DROP PROCEDURE IF EXISTS GetSalary; -- 如果该存储过程已经存在,则删除

CREATE PROCEDURE GetSalary ( OUT salaryhigh INT, OUT salarylow INT, OUT salaryavg INT ) BEGIN -- 创建不含有输入输出变量的存储过程
    SELECT
        Max( salary ) INTO salaryhigh
    FROM
        salaries;

    SELECT
        Min( salary ) INTO salarylow
    FROM
        salaries;

    SELECT
        Avg( salary ) INTO salaryavg
    FROM
        salaries;

END //
DELIMITER; -- 重新设定语句结束分隔符,每次查询结束后都要将分隔符还原为;

创建带有输出变量的存储过程

DELIMITER // -- 设定语句结束分隔符
DROP PROCEDURE IF EXISTS GetTotalNum; -- 如果该存储过程已经存在,则删除

CREATE PROCEDURE GetTotalNum (OUT TotalNum INT ) BEGIN -- 创建带有输出变量的存储过程
    SELECT
        count( * ) INTO TotalNum
    FROM
        dept_emp;

END //
DELIMITER ;-- 重新设定语句结束分隔符,每次查询结束后都要将分隔符还原为;

创建带有输入输出变量的存储过程

DELIMITER // -- 设定语句结束分隔符
DROP PROCEDURE IF EXISTS GetNumEachDept; -- 如果该存储过程已经存在,则删除
CREATE PROCEDURE GetNumEachDept ( IN dept CHAR(10), OUT NumDept INT ) BEGIN -- 创建带有输入输出变量的存储过程
    SELECT
        count( * ) INTO NumDept
    FROM
        dept_emp
    WHERE
        dept_no = dept;

END//
DELIMITER; -- 重新设定语句结束分隔符,每次查询结束后都要将分隔符还原为;

原文地址:https://www.cnblogs.com/iwangzhengchao/p/10080213.html

时间: 2024-11-09 00:01:19

MySQL存储过程入门的相关文章

mysql存储过程入门与提高(第三篇)

由于一些不好说的原因,以后博客内容大多只会发笔记的截图.此博客只发在my.oschina.net上,请勿作任何商业用途!! mysql存储过程:是指在数据库中定义一组sql语句组合在一起,并当作一个整体存储在mysql服务器中. 和存储函数的最主要的区别是对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象.函数只能返回一个变量:而存储过程可以返回多个.my.oschina.net讲存储函数的时候会把储存过程和存储函数的区别列出来.my.oschina.net 基本形式: CREA

mysql存储过程入门与提高(第二篇)

以前面试的时候被问道为啥用mysql存储过程,或者存储过程的优点.作为一个专业的mysql dba.肯定是必须要掌握的.而我只是运维啊 哈哈哈.当时回答的不好,后来整理了 大概这几条,存储过程执行速度快,存储过程能够减少网络流量,提高应用程序代码的灵活性,提高数据安全保护机制. 狂汗啊!看人家洋鬼子整理的多齐整啊.师夷长技以制夷,奋起啊!!! ? The use of stored programs can lead to a more secure database.? Stored prog

mysql存储过程入门与提高(第一篇)

以前在网上看到歪国人专门写了本mysql存储过程,感觉很强大啊.刚好最近新项目上优化要用到存储过程,我就把之前的学习笔记整理了一下.最近太忙啊!!! MySQL stored programs包括存储过程,函数,触发器. 先来看一下官方的定义. Stored procedures 存储过程Stored procedures are the most common type of stored program. A stored proce-dure is a generic program un

mysql 存储过程入门

这篇文章主要介绍了MySql存储过程与函数详解,内容很详细,需要的朋友可以参考下 存储过程和函数是在数据库中定义一些SQL语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL语句.存储过程和函数可以避免开发人员重复的编写相同的SQL语句.而且,存储过程和函数是在MySQL服务器中存储和执行的,可以减少客户端和服务器端的数据传输.一.存储过程1.1.基本语法 CREATE PROCEDURE sp_name ([proc_parameter[,...]])     [characte

MySQL存储过程入门教程

存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 .同时,存储过程可以接收和输出参数.返回执行存储过程的状态值,也可以嵌套调用. 存储过程和函数的区别 函数往往作为公式使用,存储过程作为完成某种功能使用. 函数分为表值函数跟标量函数.表值函数是经过一些sql语句方法最后返回一张表,标量函数是经过一些sql语句方法最后返回一个值.

Mysql存储过程入门介绍

delimiter //一般情况下MYSQL以:结尾表示确认输入并执行语句,但在存储过程中:不是表示结束,因此可以用该命令将:号改为//表示确认输入并执行. 一.创建存储过程 1.基本语法: create procedure sp_name()begin.........end 2.参数传递 二.调用存储过程 1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递 三.删除存储过程 1.基本语法:drop procedure sp_name//2.

MySQL数据库新特性之存储过程入门教程

在MySQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL的数据库处理能力.在本文中将指导读者快速掌握MySQL 5的存储过程的基本知识,带领用户入门. 存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且允许用户声明变量 .同时,存储过程可以接收和输出参数.返回执行存储过程的状态值,也可以嵌套调用. 存储过程的优点 作为存储过程,有以

mysql存储过程快速入门

一.创建存储过程 创建存储过程(一) create PROCEDURE pro1() BEGIN select 'Hello World'; END; //执行存储过程 call proc1(); 创建存储过程的基本形式 CREATE PROCEDURE sp_name([proc_parameter[,…]]) [characteristic …] routine_body 其中: sp_name:存储过程名称 proc_parameter:存储过程参数,可以为in,out,inout参数,其

mysql存储过程编写-入门案例-遁地龙卷风

(-1)写在前面 这篇文章只是简要的叙述了mysql存储过程编写的基本概念. 我使用的mysql版本是5.7.9-log. 参照<<深入浅出MySQL>>. (0) delimiter // delimiter //中的//可以指定为别的符号,比如delimiter @@,改变语句的结束的标识. 因为在存储过程中用到了;,不改变默认语句结束.标识将会报错. 创建完存储过程后别忘了自己更改过默认结束标识哦! (1)存储过程的创建 在mysql命令行工具输入如下代码,当然你也可以在可视