细谈Mysql的存储过程和存储函数-创新互联

1 存储过程

成都创新互联公司是一家专业提供敦化企业网站建设,专注与网站建设、成都网站建设H5场景定制、小程序制作等业务。10年已为敦化众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

1.1 什么是存储过程


存储过程是一组为了完成某项特定功能的sql语句集,其实质上就是一段存储在数据库中的代码,他可以由声明式的sql语句(如CREATE,UPDATE,SELECT等语句)和过程式sql语句(如IF...THEN...ELSE控制结构语句)组成。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

1.2 存储过程的优缺点


优点:

1.可增强sql语言的功能和灵活性
存储过程可以用流程控制语言编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。


2.良好的封装性
存储过程被创建后,可以在程序中被多次调用,而不必担心重写编写该存储过程的sql语句。


3.高性能
存储过程执行一次后,其执行规划就驻留在高速缓冲存储器中,以后的操作中只需要从高速缓冲器中调用已编译好的二进制代码执行即可,从而提高了系统性能。

缺点:


存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他厂商的数据库系统时,需要重写原有的存储过程。

1.3 创建存储过程


1.3.1 DELIMITER定界符


在sql中服务器处理sql语句默认是以分号作为语句的结束标志,然而在创建存储过程时,存储过程体中可能包含多条sql语句,这些sql语句如果仍以分号作为语句结束符,那么服务器在处理时会以第一条sql语句处的分号作为整个程序的结束符,而不再去处理后面的sql。
为解决这个问题,通常使用DELIMITER命令,将sql语句的结束符临时修改为其他符号。


DELIMITER语法格式:


DELIMITER $$

文章名称:细谈Mysql的存储过程和存储函数-创新互联
路径分享:http://pwwzsj.com/article/ccgsjd.html