广州小程序开发

mysql 存储过程

作者:广州小程序开发 时间:2018-06-19 22:40
在业务逻辑中从没用到过存储过程,而且之前忘了在哪看的说用存储过程会降低性能,不如直接用语言处理
这当然是很正确的,各干各的事
 但有一个情况使用存储过程是很方便的
就是在生成测试数据,或者在mysql临时调试的时候
脱离语言的限制,直接用sql处理
个人的理解存储过程就相当于是函数

声明分隔符 
DELIMITER 
看到资料中 一般都是 DELIMITER //,其实 后面的符号可以随便写 比如 DELIMITER $$$ 
默认的分割符是; 但在 PROCEDURE 中用到;会使SQL立即执行(函数写了一半就执行了) 
所以将分隔符改成个其他的东西,在末行 DELIMITER ; 改回来

若该过程已存在 则删除
DROP PROCEDURE IF EXISTS procedureName;
过程重复定义会报错,加上这一句 

mysql 存储过程

创建过程
CREATE PROCUDURE 名字(参数类型 参数 参数数据类型)
如 CREATE PROCEDURE test(IN id int)

过程接收一个参数,三种类型 ,分别是 
IN OUT INOUT
传入(相当于函数形参),传出(相当于函数返回值),引用(相当于函数引用传值)

开始 和结束定位
BEGIN  
    ...
END
一条语句的可以不用定位,直接跟在过程名 的后面

变量
声明变量 declare i int    这是一个局部变量
变量赋值 set i = 23
用户变量  @i  可以看做全局变量,可在过程内部直接使用

过程调用

CALL  过程名

上一篇:调用微信jsapi实现微信分享文章统计 tp5开发
下一篇:thinkphp5.1 导入Excel 插入数据库

您的疑惑,我们来解答

多年来我们为上百家企业提供了网站建设服务

感受专业服务,从来电咨询开始
广州:18814374480深圳:13480275394
在线咨询