存储过程和函数的区别

存储过程:我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。
区别:
1 .函数只能返回值且只能返回一个变量,存储过程可返回多个参数。
2. 两者的参数类型不同。存储过程的参数有三种,分别是IN(可接收参数)、OUT(能输出参数)和INOUT(输入和输出),函数只有IN参数类型。
3. 创建方式不同,存储过程创建语法:create procrdure ‘存储过程名’ (参数1,参数2…)
begin

end
函数创建语法 :create function ‘函数名’ (参数名 参数类型,参数名 参数类型 …)
return ‘返回类型’
begin

end
即函数声明时必须描述返回类型,且函数体中必须包含一个有效的return 语句。
4. 存储过程实现的功能性要复杂一点,可执行包括修改表等一系列数据库操作。函数实现的功能针对性比较强,但不能执行修改全局数据库状态的操作。
5. SQL语句中不可用存储过程,而函数可以。
6. 存储过程中可写SQL语句,函数则不可以。
7. 调用方法不同,调用存储过程语法:call ‘存储名()’ ;函数调用:可直接select 函数名。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值