MySQL基础 - 存储过程和存储函数

2022/1/10 19:03:35

本文主要是介绍MySQL基础 - 存储过程和存储函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

区别: 1. 存储过程一旦创建就想函数一样可以调用,但是函数一定有返回值,存储过程可以有可以没有。

    2. 存储过程和视图有着相似的有点,安全,减少网络传输量,但是视图只能查不能增/删/改,存储过程可以实现更复杂的数据处理,定义变量、游标等。

存储过程

概念:一组经过预编译的SQL语句封装。

执行过程:预存储MySQL服务器,需要执行的时候客户端向服务端发出调用命令,服务端可以把预编译并存储好的一系列SQL语句全部执行。

优点: 1.具备重用性,减少程序员的开发压力。

    2.减少网络传输量:客户端不需要通过网络传输所有的SQL语句给服务器

    3.封装批量SQL的具体实现,提高查询的安全性。

创建语法:

1 #参数类型:IN|OUT|INOUT ,不写默认IN
2 #参数数据类型INT VARCHAR...
3 create procedure 存储过程名(参数类型 参数名 参数数据类型)
4     # 局部变量定义 declare a varchar(10) default ''; 
5 begin
6    #存储过程体
7    #变量赋值SET a = 'abc'
8 end
补充内容:存储过程中的变量为局部变量,若在sql中定义全局变量用@a='abc'
调用存储过程:call 存储过程名(实参1,实参2...)

 存储函数

函数作用:可以实现更负责的逻辑操作,提高用户对数据库的管理效率。

创建语法

1 create function 函数名(参数名 参数数据类型,...)
2 returns 返回值类型
3 begin
4     函数体 #必须包含return语句
5 end
语法上与存储过程的差异
1. procedure -> function
2. 参数列表不需要定义参数IN|OUT|INOUT类型
3. 多了 returns 和 return
4. 调用语法:select 函数名(传参)

 



这篇关于MySQL基础 - 存储过程和存储函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程