Modos de argumento en PL/SQL

Los modos argumentales se utilizan básicamente para describir el comportamiento de los parámetros formales . Hay tres tipos de modos de argumento que se utilizan en el subprograma, que son los siguientes:

  1. Modo EN
  2. Modo SALIDA
  3. Modo ENTRADA SALIDA

Representación de cómo los modos interactúan con el entorno de llamada

  • Modo IN:
    Es el modo de argumento predeterminado en el subprograma. Este modo pasa un valor constante del entorno de llamada al subprograma.

    Ejemplo:
    el siguiente ejemplo ilustra el funcionamiento del argumento del modo IN:

    SQL> CREATE OR REPLACE PROCEDURE PR1(X IN NUMBER, Y IN NUMBER)
    S NUMBER;
    BEGIN
    S:=X+Y;
    DBMS_OUTPUT.PUT_LINE('SUM IS : '||S);
    END PR1;

    Producción –

    Procedure created.
    SQL> DECLARE
    N1 NUMBER:=10;
    N2 NUMBER:=20;
    BEGIN
    PR1(N1, N2);
    END;

    Producción –

    SUM IS : 30
    PL/SQL procedure successfully completed.
    SQL>
  • Modo OUT:
    este modo pasa un valor del subprograma al entorno de llamada.

    Ejemplo:
    el siguiente ejemplo ilustra el funcionamiento del argumento del modo OUT:

    SQL> CREATE OR REPLACE PROCEDURE PR2(2 OUT NUMBER) AS
    X NUMBER:=11;
    Y NUMBER:=22;
    BEGIN
    Z:=X+Y;
    END;

    Producción –

    Procedure created.
    SQL> DECLARE
    R NUMBER;
    BEGIN
    PR2(R);
    DBMS_OUTPUT.PUT_LINE('RESULT IS: '||R);
    END;

    Producción –

    RESULT IS : 33
    PL/SQL procedure successfully completed.
    SQL>
  • Modo IN OUT:
    este modo es una combinación de los modos IN n= y OUT. Al igual que el modo IN, pasa un valor del entorno de llamada en el subprograma y, como un modo OUT, posiblemente pase un valor diferente del subprograma al entorno de llamada usando el mismo parámetro.

    Ejemplo:
    el siguiente ejemplo ilustra el funcionamiento del argumento del modo OUT:

    SQL> CREATE OR REPLACE PROCEDURE PR3(2 OUT NUMBER) AS
    A NUMBER:=11;
    BEGIN
    B:=A+B;
    END;

    Producción –

    Procedure created.
    SQL> DECLARE
    R NUMBER:=22;
    BEGIN
    PR3(R);
    DBMS_OUTPUT.PUT_LINE('RESULT IS: '||R);
    END;

    Producción –

    RESULT IS : 33
    PL/SQL procedure successfully completed.
    SQL>

Publicación traducida automáticamente

Artículo escrito por itskawal2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *