(oracle)如何通过函数去调用procedure的注意事项

创建一个带参数的procedure temp_pr():

create or replace procedure temp_pr(temp_no in employee.empid%type,temp_name out employee.empname%type)as
begin
select employee.empname into temp_name from employee where employee.empid=temp_no;
end;

在上一篇关于procedure的日志中提到 as 在这里的功能相当于 declare的作用 用来声明变量,此处没有变量所以as后面接代码;

 

创建一个function get_temp(),用函数来调用procedure temp_pr();

create or replace function get_temp(temp_no in employee.empid%type,temp_name out employee.empname%type)return employee.empname%type is 
begin 
temp_pr(temp_no,temp_name);
return temp_name;
end;

 

值得注意的是get_temp()中的参数的类型必须和procedure temp_pr()的参数类型一致;

 

创建一个DML statement:

declare
temp_name employee.empname%type;
begin
dbms_output.put_line('姓名是'||get_temp('4',temp_name));
end;

 

提醒的是 out 的数据要在declare中声明;

 

output:

姓名是dgy

 

疑问:

如何将 记录型数组 作为out的部分输出了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值