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参数可用于执行这两个操作。