oracle中怎么执行带有输出参数的存储过程,在程序中我知道怎么调用,

create or replace procedure sp_pro10
(spno in number,spname out varchar2) is
begin
select ename into spname from emp where empno=spno;
end;

1、新建一个存储过程(Procedure)。

2、修改存储过程,这个存储过程有一个输入参数(pid)跟一个输出参数(name),即通过用户id查询用户名称并将名称返回。

3、调试存储过程,找到刚刚创建的存储过程右击并点击【test】选项。

4、在打开的窗口内修改id值并点击左上角的倒三角形图标开始调试。

5、按【CTRL+N】进行单步进入调试,【CTRL+O】单步调试,【CTRL+T】退出调试,也可以点击调试工具进行调试。

6、变量查看,在窗口下方可输入变量名称观察变量的变化情况。

7、调试完成后就可以检查调试结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-05
SQL> create or replace procedure sp_pro10
2 (spno in number,spname out varchar2) is
3 begin
4 select 'ename' into spname from dual;
5 end;
6 /

过程已创建。

SQL> set serveroutput on
SQL> DECLARE
2 spno number;
3 spname varchar2(10);
4 BEGIN
5 sp_pro10 (spno, spname);
6
7 dbms_output.put_line(spname);
8 END;
9 /
ename

PL/SQL 过程已成功完成。本回答被提问者和网友采纳
第2个回答  2019-06-04
--存储过程的创建
set serveroutput on;
create or replace procedure select_dept(
num_deptno in number,--定义in模式变量,要求输入部门编号
var_dname out dept.dname%type,--定义out模式变量,可以存储部门名称并输出
var_loc out dept.loc%type) is
begin
select dname,loc into var_dname,var_loc from dept
where deptno = num_deptno;--检索某个部门编号的部门信息
exception
when no_data_found then--若select语句无返回记录
dbms_output.put_line('该部门编号的不存在');--输出信息
end select_dept;
/
--存储过程的调用
--注意:含有输出参数的存储过程调用,需要先声明与out参数类型兼容的变量
set serveroutput on;
declare
var_dname dept.dname%type;
var_loc dept.loc%type;
begin
select_dept(10,var_dname,var_loc);
dbms_output.put_line(var_dname||'位于:'||var_loc);
end;
/
第3个回答  2011-08-23
下面说明在SQL DEVELOPER中的做法,右击存储结构的文件名,在菜单中选择RUN,会跳出一个叫RUN PL/SQL的页面,在下方写着PL/SQL BLOCK 的地方修改输入参数
spno =>spno 修改为spno =>真实的值
具体可以参看HELP中的Run/Debug/Profile PL/SQL