mysql-存储过程

创建无参数的存储过程

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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文链接 MySQL存储过程详解 1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然...
    亚斯咪妮阅读 2,755评论 1 30
  • 转载自这里 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Sto...
    杜七阅读 2,522评论 4 27
  • SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,...
    MIN_ZJM阅读 776评论 0 1
  • 任务需求:定时执行的任务,调用存储过程,进行数据迁移。 存储过程相关总结:(存储过程的创建 不能伴随有if exi...
    时待吾阅读 3,238评论 0 4
  • 漆黑的夜 蓝色的焰 ...
    安道微阅读 216评论 0 1

友情链接更多精彩内容