Abaixo está um exemplo de um procedimento armazenado no Oracle com o parâmetro IN OUT. Levará o número do funcionário (i_empno) como parâmetro IN e retornará o nome do funcionário (o_ename) como parâmetro OUT.
Exemplo de parâmetro IN-OUT de procedimento armazenado
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;
Executar procedimento 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;
Saída
JONES PL/SQL procedure successfully completed.