Oracle
 sql >> база данни >  >> RDS >> Oracle

Пример за съхранена процедура в Oracle с параметър IN OUT

По-долу е даден пример за съхранена процедура в Oracle с параметър IN OUT. Той ще приеме номера на служител (i_empno) като IN параметър и ще върне името на служителя (o_ename) като OUT параметър.

Пример за параметър IN-OUT на запаметена процедура

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;

Изпълнете процедура 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;

Изход

JONES
PL/SQL procedure successfully completed.
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - ORA-01489:резултатът от конкатенацията на низове е твърде дълъг

  2. REGEX, за да изберете n-та стойност от списък, позволявайки нулеви стойности

  3. Настройка на SQL

  4. Oracle PL/SQL получава IP на сървъра v4?

  5. Как да коригирам Ora-01427 подзаявката с един ред връща повече от един ред в select?