oracle函数和存储过程的区别

 我来答
从空去听8
2017-08-11 · TA获得超过7440个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5593万
展开全部
oracle中函数和存储过程的区别和联系

   在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点。刚学完函数和存储过程,下面来和大家分享一下自己总结的关于函数和存储过程的区别。

一、存储过程

1.定义

  存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure。

2.创建存储过程

  create [or replace] procedure 存储过程名

  [(参数1 类型,参数2 out 类型……)]   

  as

    变量名  类型;

  begin

    程序代码体

  end;

  示例一:无参无返

create
or
replace
procedure
p1

--
or replace代表创建该存储过程时,若存储名存在,则替换原存储过程,重新创建

--
无参数列表时,不需要写()

as

begin

dbms_output.put_line(
'
hello world
'
);

end
;

--
执行存储过程方式1

set
serveroutput on
;

begin

p1();

end
;

--
执行存储过程方式2

set
serveroutput on
;

execute
p1();
  示例二:有参有返

create
or
replace
procedure
p2
(name
in
varchar2
,age int
,msg out varchar2
)

--
参数列表中,声明变量类型时切记不能写大小,只写类型名即可,例如参数列表中的name变量的声明

--
参数列表中,输入参数用in表示,输出参数用out表示,不写时默认为输入参数。

--
----------输入参数不能携带值出去,输出参数不能携带值进来,当既想携带值进来,又想携带值出去,可以用in out

as

begin

msg:
=
'
姓名
'
||
name||
'
,年龄
'
||
age;

--
赋值时除了可以使用:=,还可以用into来实现

--
上面子句等价于select '姓名'|
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式