mysql存储过程和存储函数有什么区别

区别:1、存储函数的限制比较多,而存储过程的限制相对比较少;2、存储函数会向调用者返回一个且仅有一个结果值,而存储过程会返回一个或多个结果集;3、存储过程的参数类型有

区别:1、存储函数的限制比较多,而存储过程的限制相对比较少;2、存储函数会向调用者返回一个且仅有一个结果值,而存储过程会返回一个或多个结果集;3、存储过程的参数类型有三种,存储函数的参数类型只有一种。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

什么是存储过程?

存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字和参数(如果该存储过程有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

优点: (1)重复使用:存储过程可以重复使用,可以减少开发人员的工作量。 (2)提高效率:存储过程在第一次使用的时候会编译,一次编译后以后不用再次编译,提高了效率。 (3)减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。 (4)安全性:参数化的存储过程可以防止SQL注入,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

缺点: (1)调试麻烦 (2)移植性差 (3)维护性差

代码: