oracle函数和存储过程有什么区别,说的细致些最好了。~

 我来答
tpj_wow
2010-12-31 · TA获得超过532个赞
知道小有建树答主
回答量:232
采纳率:100%
帮助的人:292万
展开全部
1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有
2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用.
函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等)
xmigl55
2011-01-04 · TA获得超过3263个赞
知道小有建树答主
回答量:1729
采纳率:50%
帮助的人:757万
展开全部
函数和存储过程的区别

从参数的返回情况来看:
如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数;
从调用情况来看:
如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,你可以参考《ORACLE 9I PL\SQL程序设计》(机械工业出版社);

如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woyaoaiaia
2011-01-03 · TA获得超过764个赞
知道小有建树答主
回答量:479
采纳率:0%
帮助的人:159万
展开全部
我也来凑个热闹
oracle函数和存储过程最大的区别就在于,函数必须带上一个return返回值,后面跟的是返回值的类型,而存储过程可以不带任何返回值。
另外,存储过程和函数同样支持in,out,in out这三种类型的参数,对应的是分别指明输入性的参数、输出型的参数、输入输出型的参数。也就是说如果我们需要返回多个值,除了可以使用存储过程来实现之外,也可以用函数来实现,方法是你将其中一个用return来返回,其他就指明该数据为out参数就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超尘离梦
2010-12-31 · TA获得超过1477个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:256万
展开全部
Oracle中存储过程和函数都可以返回值,但是函数必须要返回值,并一般只返回一个值,而存储过程则没有这个限制。从一般应用上来看,如果不需要返回值或者需要多个返回值,使用存储过程,如果只用一个返回值,就使用函数,从一般程序员的习惯上来看,这样更符合思维。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cloak605
2010-12-31 · TA获得超过768个赞
知道小有建树答主
回答量:1122
采纳率:0%
帮助的人:697万
展开全部
函数和存储过程的区别 从参数的返回情况来看: 如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数;从调用情况来看: 如果在SQL语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式