A continuación se muestra un ejemplo de un procedimiento almacenado en Oracle con el parámetro IN OUT. Tomará el número de empleado (i_empno) como parámetro IN y devolverá el nombre del empleado (o_ename) como parámetro OUT.
Ejemplo de parámetro IN-OUT de procedimiento almacenado
CREATE OR REPLACE PROCEDURE GET_EMP_NAME (i_empno IN emp.empno%TYPE, o_ename OUT emp.ename%TYPE) IS CURSOR c_ename (p_empno emp.empno%TYPE) IS SELECT ename FROM emp WHERE empno = p_empno; BEGIN OPEN c_ename (i_empno); FETCH c_ename INTO o_ename; CLOSE c_ename; END get_emp_name;
Ejecutar procedimiento GET_EMP_NAME
SET SERVEROUTPUT ON; DECLARE v_name emp.ename%TYPE; BEGIN get_emp_name (7566, v_name); DBMS_OUTPUT.put_line (v_name); END;
Salida
JONES PL/SQL procedure successfully completed.