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; /