sql >> Databasteknik >  >> RDS >> Oracle

Lagrad procedur i Oracle-exempel med IN OUT-parameter

Nedan är ett exempel på en lagrad procedur i Oracle med IN OUT-parameter. Den tar anställdsnummer (i_empno) som IN-parameter och returnerar anställds namn (o_ename) som OUT-parameter.

Exempel på lagrad procedur IN-OUT-parameter

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;

Utför procedur 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;

Utdata

JONES
PL/SQL procedure successfully completed.
  1. IN vs OR för Oracle, vilket snabbare?

  2. Perl DBI - kör SQL-skript med flera satser

  3. Dela upp kommaseparerade värden för en kolumn i rad genom Oracle SQL-fråga

  4. SQLcl-formateringsalternativ (Oracle)