• MySQLl存储过程学习总结


    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 存储过程名 相当于查看表的创建语句
  • 相关阅读:
    20200721_34代码如何优化以及框架的运用和构建设计
    20200719_33appium应用及H5页面元素定位下
    20200709_29多线程与分布式
    day4_day4_python
    python_day3
    python第二天
    pytihon初学第一天
    移动平均线系列
    网页爬取
    十种经典排序算法
  • 原文地址:https://www.cnblogs.com/ying-dong/p/12073313.html
Copyright © 2020-2023  润新知