1.简介 : 逻辑处理一般不是一条语句组成,需要多条之间相互配合使用
             这时,存储过程就是为了以后使用而保存的的一条或多条Mysql语句的集合
2.为何 : 1)简单:将处理单元封装到了容易使用的单元中,简化了复杂重复操作
            2)安全:多次自行编写,出现的错误可能性就越多,而统一使用一个错误频率减少
            3)性能:存储过程执行较快
3.使用 : 存储过程的编写权限与调用权限分离
             调用存储过程 : CALL 存储过程名(参数)
4.编写 :  存储过程等级与表,库相当创建删除使用CREATE,DROP PRODUCE
             使用调用相当于表USE 直接加表名-->存储过程CALL + 存储过程名(参数)
              无参:     CREATE PRODUCE 存储过程名()
                            BEGIN
                                //存储过程体
                            END
                无参存储过程结果直接返回而不保存到OUT变量中,调用存储过程直接返回结果表
              有参:
                        1)存储过程相当于方法,有参数,返回值的相关定义
                        2)但存储过程没有之前的返回值定义,都表示在了参数表里
                        3)参数的数据类型类型: IN ,OUT,INOUT
                        4)创建时需定义变量OUT varName CHAR  IN no INT , 调用时使用实际定义的变量,输入的用实际值,OUT的用定义的变量@变量名以供存储调用完成时返回的结果值
                               eg: CALL  aaa(2000,@total)  
                                     SELECT @total
                        5)将结果赋给OUT变量  SELECT ... INTO total 
                        6)MySQL中实际自定义的变量变量名必须以@开头,无需int @total;,使用时直接给名,利用即可,创建时已经定义过了,使用调用时定义了什么类型调用时就是什么类型
            注意:使用命令行时,使用;分隔每个语句
                    而存储过程体中也有;所以此时需要重新定义语句分隔符 
                    开始前DELIMITER #
                    使用完DELIMITER ; 恢复
  •  存储过程体中需要中间变量,可以在体中定义变量
            DECLARE 变量名 数据类型(DEFAULT 默认值)
  • 存储过程体中含有智能的包含业务逻辑规则就务必使用到逻辑用语 条件,循环等
5.检查
        SHOW CREATE PRODUCE 存储过程名 相当于查看表的创建语句

最新文章

  1. SpringMVC常用配置-处理程序异常以及404错误
  2. mysql 性能优化方案 (转)
  3. Linux socket多进程服务器框架一
  4. [转载] 使用MySQL Proxy解决MySQL主从同步延迟
  5. .net windows 服务创建、安装、卸载和调试
  6. 【基础知识】.Net基础加强11天
  7. QT QT程序初练
  8. Java中resourceBundle和Properties的区别
  9. html Js跨域提交数据方法,跨域提交数据后台获取不到数据
  10. 《Linux命令行大全》系列(一、shell是什么)
  11. OpenVPN多实例优化的思考过程
  12. WPF刷新界面之坎坷路
  13. my project 中git使用过程(基本操作流程)
  14. [PHP] 算法-把数组排成最小的数的PHP实现
  15. IDEA激活
  16. java设计模式(六)策略模式
  17. Zend Studio 配置
  18. Xilinx SDK使用教程
  19. 流程设计器jQuery + svg/vml(Demo1 - 构建设计器UI界面)
  20. SVN - Checksum mismatch while updating

热门文章

  1. 格式化字符串漏洞 format string exploit(一)
  2. windows环境下Git的安装部署
  3. 数百道BAT等大厂最新Python面试真题,学到你手软!
  4. 15.junit测试类使用及注解
  5. Android框架式编程之架构方案
  6. Maven——向Maven本地仓库中手动添加依赖包(ps:ojdbc.jar)
  7. Openshift 自建DDNS动态域名
  8. Go学习笔记(持续更中,参考go编程基础,go边看边练)
  9. SpringBoot2.0整合WebSocket,实现后端数据实时推送!
  10. 【iOS13问题】修改状态栏的颜色(亲测,有效)