PL/SQL 中的参数模式
自变量模式基本上用于描述形参的行为。子程序中使用的参数模式共有三种,分别是:
- 输入模式
- 输出模式
- 输入输出模式
- 输入模式:
它是子程序中的默认参数模式。此模式将一个常量值从调用环境传递到子程序中。例子 -
下面的例子说明了 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>