📜  PL/SQL 中的参数模式

📅  最后修改于: 2022-05-13 01:54:54.762000             🧑  作者: Mango

PL/SQL 中的参数模式

变量模式基本上用于描述形的行为。子程序中使用的参数模式共有三种,分别是:

  1. 输入模式
  2. 输出模式
  3. 输入输出模式

模式如何与呼叫环境交互的表示

  • 输入模式:
    它是子程序中的默认参数模式。此模式将一个常量值从调用环境传递到子程序中。

    例子 -
    下面的例子说明了 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;

    输出 -

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

    输出 -

    SUM IS : 30
    PL/SQL procedure successfully completed.
    SQL>

  • 输出模式:
    此模式将值从子程序传递到调用环境。

    例子 -
    以下示例说明了 OUT 模式参数的工作 -

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

    输出 -

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

    输出 -

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

  • 输入输出模式:
    该模式是 IN n= 和 OUT 模式的混合。就像 IN 模式一样,它从子程序中的调用环境传递一个值,就像 OUT 模式一样,它可能使用相同的参数将不同的值从子程序传递回调用环境。

    例子 -
    以下示例说明了 OUT 模式参数的工作 -

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

    输出 -

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

    输出 -

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