PL/SQL中实际参数和形式参数的区别

参数是一个可选的参数列表,定义的参数既可以把信息传入过程,也可以把信息从过程中送回给调用程序。参数也被称为参数。当我们定义一个参数时,也指定了参数的使用方式。有三种不同的参数或论据模式。

实际参数

在函数调用中传递的参数被称为实际参数。这些参数是在调用函数中定义的。这些是在子程序调用的参数列表中引用的变量或表达式。不需要在实际参数中指定数据类型。

例子:

// X and Y NUMBER ARE ACTUAL PARAMETERS
SQL> CREATE OR REPLACE FUNCTION FUNC1(X NUMBER,  Y NUMBER) 
2    RETURN NUMBER IS
3    R NUMBER;
4    BEGIN
5    R:=X+Y;
6    RETURN(R);
7    END;
8    /
FUNCTION CREATED.

SQL>|

形式参数

形式参数是在子程序规范的参数列表中引用的变量或表达式。接收值的数据类型必须被定义。形式参数的范围在使用它们的函数定义中是局部的。

例子:

SQL> DECLARE
2    N1 NUMBER:=10;
3    N2 NUMBER:=20;
4    S NUMBER;
5    BEGIN
6    S:=FUNC1(N1, N2);
7    DBMS_OUTOUT.PUT_LINE('RESULT IS: '||S);
8    END;
9    /

OUTPUT: RESULT IS: 30
PL/SQL PROCEDURE SUCCESSFULLY COMPLETED.
SQL>|

实际参数和形式参数的区别 :

实际参数 正式参数
当一个函数被调用时,在函数调用中传递的值(表达式)被称为参数或实际参数。 在函数定义语句中使用的、在其声明时包含数据类型的参数被称为形式参数。
实际参数是在子程序调用的参数列表中引用的变量或表达式。 正式参数是在子程序规范的参数列表中引用的变量或表达式。
实际参数是在调用子程序中的参数。 形式参数是被调用的子程序中的参数。
在实际参数中不需要指定数据类型。 接收值的数据类型必须被定义。
写在函数调用中的参数被称为实际参数。 写在函数定义中的参数被称为形式参数。
实际参数可以是常量值或变量名。 形式参数可以被视为函数的局部变量,它们在函数头中被使用。