美文网首页实用Linux
mysql-存储过程

mysql-存储过程

作者: 黄一倚 | 来源:发表于2018-10-28 12:56 被阅读0次

创建无参数的存储过程

mysql> create procedure sp1() select version();

调用无参数存储过程

mysql> call sp1;
或
mysql> call sp1();

删除存储过程

drop procedure sp1;

创建带有IN类型的存储过程

修改结束标识符为//

mysql> delimiter //
mysql> create procedure removeUserById(IN id int)
    -> begin
    -> delete from user where uid = id;
    -> end
    -> //
Query OK, 0 rows affected (0.02 sec)

调用带有参数的存储过程

mysql> call removeUserById(1)//

创建带有IN和OUT参数的存储过程

IN 表示在调用存储过程时要传入的参数,OUT表示存储过程返回值的变量

mysql> delimiter //
mysql> create procedure removeUserAndReturnUserNums(IN id int,OUT userNums int)
    -> begin
    -> delete from user where uid =id;
    -> select count(id) from user INTO userNums;
    -> end
    -> //
Query OK, 0 rows affected (0.03 sec)

调用有OUT参数的存储过程

调用存储过程时,OUT传入的是一个变量,在mysql中,变量的形式为@开头的合法变量名,形如@nums 在这里表示的是user表中记录的数量

mysql> call removeUserAndReturnUserNums(2,@nums)//  
Query OK, 1 row affected (0.05 sec)

查看存储过程返回的值

mysql> select @nums;
image.png

相关文章

  • MySQL优化

    mysql-基础-视图,存储过程,触发器 面试题 面试你所要知道的:MySQL存储过程 https://blog....

  • mysql-存储过程

    创建无参数的存储过程 调用无参数存储过程 删除存储过程 创建带有IN类型的存储过程 修改结束标识符为// 调用带有...

  • MySQL-存储过程

    定义:存储过程是一种数据库对象,用来存储复杂的程序以方便给外部调用。存储过程体现的思想就是sql代码的封装与复用。...

  • mysql-存储函数、存储过程

    在测试数据的过程中,通过存储函数及存储过程构造数据: # 生成随机字符串 DELIMITER $$CREATE F...

  • MySQL-索引、事务、存储过程

    写在前面 本文主要侧重于索引、事务、优化等方面的面试问题。原文链接:https://mp.weixin.qq.co...

  • MySQL-视图/存储过程/存储函数/触发器

    前置文章:一、MySQL-Explain了解查询语句执行计划[https://www.jianshu.com/p/...

  • MySQL-事务&MVCC

    前置文章:一、MySQL-存储引擎[https://www.jianshu.com/p/495108c767bc]...

  • mysql-存储引擎

    MRG_MYISAM CSV适用于写CSV日志文件,将结构化业务数据快速导入电子表格。CSV存储引擎以表格形式创建...

  • MySQL-存储引擎

    1、简介 类型Linux中的文件系统,比文件系统要高级 2、mysql中的存储引擎类型 InnoDB(5.5以后的...

  • mysql-存储引擎

    mysql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎 每一种存储引擎使用不同的存储机制、索...

网友评论

    本文标题:mysql-存储过程

    本文链接:https://www.haomeiwen.com/subject/zxeptqtx.html