Oracle PL / SQL参数

参数允许您将值传递到(IN),将值从(OUT)传递出去,或者将值传入和传出光标,函数或过程(IN OUT)。

 

参数命名

参数遵循与变量相同的PL / SQL标识符命名规则。

下表显示了参数前缀值。

前缀 描述
ai 参数IN
ao 参数OUT
aio 参数IN OUT

ai表示参数。

下表显示了使用前缀方案的参数名称示例

范围IN 范围OUT 范围输入
ain_id aon_id aion_id
aiv_name aov_name aiov_name
aid_birth_date aod_birth_date aiod_birth_date
aiv_gender aov_gender aiov_gender

 

参数声明

以下代码创建一个名为PARAMETER的包,它显示如何声明参数,其语法和参数范围。

create or replace package PARAMETER as 
  FUNCTION in_out_inout(aiv_in in varchar2,
                        aov_out out varchar2,
                        aiov_inout in out varchar2) 
  return varchar2; 
  PROCEDURE in_out_inout(aiv_in in varchar2,
                         aov_out out varchar2, 
                         aiov_inout in out varchar2); 
end PARAMETER; 
/ 

用于声明函数和过程中的参数的语法如下:

( 
<parameter_name_1> [IN][OUT] <data_type_1>, 
<parameter_name_2> [IN][OUT] <data_type_2>,... 
<parameter_name_N> [IN][OUT] <data_type_N>) 

其中<parameter_name>是参数的名称; 范围为IN,OUT或IN OUT; <data_type>是参数的数据类型。

我们可以使用列或行定位器来指定数据类型%TYPE或%ROWTYPE。

 

参数范围

参数关键字IN和OUT确定参数的可访问性。

IN使您的参数数据可用于被调用的游标,函数或过程。

IN参数可用于将值传递到游标,函数或过程。

OUT允许被调用的函数或过程在被调用的PL / SQL块中设置参数的值。

OUT参数可用于将值从函数或过程中传递出来。

IN和OUT的组合允许两个级别的可访问性。

IN OUT参数可用于执行这两个操作。