存储过程和存储函数

本文探讨了存储过程和存储函数的区别,强调它们在本质上并无显著差异,但在使用场景上有所区别。存储函数可以直接在SQL语句中调用并强制返回一个值,而存储过程可以有多个返回值或无返回值。创建过程和函数的语法相似,通过`CREATE [OR REPLACE] PROCEDURE/FUNCTION`定义。在Java中,两者可通过jdbc连接调用,存储过程使用`{call proc_name (?,?)}`,而存储函数则为`{ ? = call proc_name (?)}`。" 107612066,7913666,MySQL数据库的RPM安装步骤详解,"['数据库', 'MySQL', '安装教程']
摘要由CSDN通过智能技术生成

一、存储过程和存储函数区别:

1、本质相同,没有区别

2、函数的存在是让过程调用,存储过程内部又是调用存储函数

3、存储函数可以在sql语句中直接调用  如 select  函数  from 表名

4、存储过程能实现的,存储函数也都可以实现,存储函数可以实现的,存储过程也都可以实现

5、存储过程中可以没有返回值,也可以有多个,但存储函数中强制返回一个return

 

二、存储过程和存储函数创建

存储过程和存储函数创建的语法类似

create [or replace]   中 or replace是一个可选参数,表示 存在同名函数/过程 覆盖更新,不存在则创建,一般开始创建时不推荐使用,防止将原有的删除。

过程/函数名后面参数  参数名 in | out 参数类型   in表示输入,out表是输出

is ...

begin

...

end;

则和传统的plsql编程类似,is后 定义参数变量,begin 编写主流程语句,end表示结束。

/*
  存储过程
  create [or replace] procedure 存储过程名(参数1 in | out 参数类型,参数1 in | out 参数类型)
  is 
     定义参数
  begin
    过程...
  end;
*/

/*
  存储函数
  create [or replace] function 函数名(参数1 in 参数类型,参数1 in 参数类型) re
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值