暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle存储过程简单入门(三)

软件实施干货分享 2020-07-07
947

前两篇主要介绍了存储过程的书写格式,第三篇就可以学一学参数基础知识,先来看看oracle 存储过程in  out   inout三种参数模式。


1、in参数

用于接收参数,在子程序内部,不能进行修改。默认的参数模式:in
案例:
-- 声明存储过程
create or replace procedure pro_in(p_num in number)
is
begin
dbms_output.put_line(p_num);
-- p_num:=10;-- 添加此行编译报错,in 参数不能赋值
end pro_in;
复制

注意括号内,参数类型是写在后边。

执行语句如下:

-- 调用
declare
test number:=1;
begin
pro_in(test);
dbms_output.put_line(test);
end;
复制

结果: 输出 两个 1

2、out参数

输出模式的参数,用于输出值,会忽略传入的值。在子程序内部可以对其进行修改。调用时 参数需要使用变量。
案例:
-- 声明存储过程
create or replace procedure pro_out(p_num out number)
is
begin
dbms_output.put_line(p_num);
p_num:=10;
end pro_out;
复制

执行语句如下:

-- 调用
declare
test number:=1;
begin
pro_out(test);
dbms_output.put_line(test);
end;
复制

结果: 忽略输入的值,输出一个 空,和一个 10

3、in、out参数

能接收传入的实参值;在子程序内部可以修改,可以输出,调用时 参数需要使用变量

案例:

-- 声明存储过程
create or replace procedure pro_in_out(p_num in out number)
is
begin
dbms_output.put_line(p_num);
p_num:=10;
end pro_in_out;
复制

执行语句如下:

-- 调用
declare
test number:=1;
begin
pro_in_out(test);
dbms_output.put_line(test);
end;
复制

结果: 输出一个 1 和 一个 10


参考链接:

https://blog.csdn.net/weixin_42144379/article/details/84952752

文章转载自软件实施干货分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论