Параметры вывода PL/SQL: методы и примеры кода для передачи данных

В PL/SQL «выходной параметр» относится к параметру, который используется для передачи данных из хранимой процедуры или функции обратно в вызывающую программу. Вот несколько способов использования параметров в PL/SQL, а также примеры кода:

Метод 1: использование параметров OUT в хранимой процедуре

CREATE OR REPLACE PROCEDURE get_employee_details (
    p_employee_id   IN  NUMBER,
    p_employee_name OUT VARCHAR2,
    p_salary        OUT NUMBER
) AS
BEGIN
    SELECT employee_name, salary
    INTO p_employee_name, p_salary
    FROM employees
    WHERE employee_id = p_employee_id;
END;

Метод 2: использование параметров OUT в функции

CREATE OR REPLACE FUNCTION calculate_discount (
    p_order_total   IN  NUMBER,
    p_discount      OUT NUMBER
) RETURN NUMBER AS
BEGIN
    p_discount := p_order_total * 0.1; -- 10% discount
    RETURN p_order_total - p_discount;
END;

Метод 3: использование параметров OUT в курсоре

DECLARE
    CURSOR employee_cursor IS
        SELECT employee_id, employee_name, salary
        FROM employees;
    v_employee_id   NUMBER;
    v_employee_name VARCHAR2(100);
    v_salary        NUMBER;
BEGIN
    OPEN employee_cursor;
    LOOP
        FETCH employee_cursor INTO v_employee_id, v_employee_name, v_salary;
        EXIT WHEN employee_cursor%NOTFOUND;
        -- Process the record
        -- ...
    END LOOP;
    CLOSE employee_cursor;
END;

Метод 4: использование параметров OUT при вызове процедуры

DECLARE
    v_employee_name VARCHAR2(100);
    v_salary        NUMBER;
BEGIN
    get_employee_details(100, v_employee_name, v_salary);
    -- Use the retrieved values
    -- ...
END;