你好,游客 登录 注册 搜索
背景:
阅读新闻

MySQL基础之存储过程

[日期:2017-01-01] 来源:Linux社区  作者:libowen [字体: ]

学过MySQL之后却没有总结,今天好不容易有点时间来看看。

存储过程的优势

1.简化复杂的SQL语句,将多个SQL语句封装成为一个存储过程,可以在其中加上一些流程控制语句

2.存储过程封装在数据库内部,编译之后直接调用,大大提高效率

3.模块化编程,将一定功能的SQL语句封装,开发人员无需了解内部构造直接调用


创建存储过程(Stored Procedure)

delimiter //
    create proceduce sp_test(
    in id int,out num int )
    begin
    select sum(id) into num;
    end
    //
delimiter;

代码分析:

1.首先SQL语句的结束标志改为//,便于区分SQL语句的结束和存储过程的结束,不会出现混乱,用完之后记得还原。

2.关于参数有三种类型,in,out,inout

3.select...into... 可以将数据通过num返回

4.在内容中可以利用流程控制大大提升代码功能,之后会补充


查看存储过程

show proceduce status \G;

show create produce sp_test\G;
详细查看,可以看到具体过程中的代码内容

删除存储过程

drop procedure sp_test;

执行操作过程

call sp_test(1,@num);
将返回值存储在num变量中,在out型变量前加上@
直接可以使用select @num;来查看具体的值

---恢复内容结束---

学过之后却没有总结,今天好不容易有点时间来看看。

 

存储过程的优势

1.简化复杂的SQL语句,将多个SQL语句封装成为一个存储过程,可以在其中加上一些流程控制语句
2.存储过程封装在数据库内部,编译之后直接调用,大大提高效率
3.模块化编程,将一定功能的SQL语句封装,提高可读性


创建存储过程(Stored Procedure)

delimiter // create proceduce sp_test( in id int,out num int ) begin select sum(id) into num; end // delimiter;

代码分析:

1.首先SQL语句的结束标志改为//,便于区分SQL语句的结束和存储过程的结束,不会出现混乱,用完之后记得还原。
2.关于参数有三种类型,in,out,inout
3.select...into... 可以将数据通过num返回
4.在内容中可以利用流程控制大大提升代码功能,之后会补充


查看存储过程

show proceduce status \G;

show create produce sp_test\G;
详细查看,可以看到具体过程中的代码内容

删除存储过程

drop procedure sp_test;

执行操作过程

call sp_test(1,@num);
将返回值存储在num变量中,在out型变量前加上@
直接可以使用select @num;来查看具体的值

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-01/139036.htm

linux
相关资讯       MySQL存储过程 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款