首批通过分布式安全可靠测评,为关键业务系统打造
DEFINE_PROGRAM_ARGUMENT
更新时间:2026-03-26 17:56:44
DEFINE_PROGRAM_ARGUMENT 过程用于定义程序参数的名称或默认值。
如果没有为程序参数定义默认值,则引用该程序的作业必须提供参数值(该作业也可以覆盖默认值)。
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。
语法
PROCEDURE define_program_argument(
program_name IN VARCHAR2,
argument_position IN PLS_INTEGER,
argument_name IN VARCHAR2 DEFAULT NULL,
argument_type IN VARCHAR2,
default_value IN VARCHAR2,
out_argument IN BOOLEAN DEFAULT FALSE);
参数说明
| 参数 | 说明 |
|---|---|
| program_name | 要更改的程序的名称。具有此名称的程序必须存在。 |
| argument_position | 参数传递给可执行文件时的位置。number_of_arguments 为程序指定参数数量。 |
| argument_name | 要分配给参数的名称。argument_name 是可选的,但如果指定 argument_name,则必须对程序是唯一的。如果指定了一个名称,则该名称可以被其他过程使用。 |
| argument_type | 被定义的参数的数据类型。Scheduler 不会验证或使用此选项。程序用户在给参数赋值时需要使用 argument_type。支持任何有效的 SQL 数据类型。 |
| default_value | 如果作业未指定参数,则指定给参数此默认值。 |
| out_argument | 此参数暂未使用,必须设置为 FALSE。 |
使用说明
在启用程序之前,必须定义从 1 到 number_of_arguments 值的所有程序参数。如果未使用此过程定义参数的默认值,则必须在作业中定义值。
DEFINE_PROGRAM_ARGUMENT 仅支持 SQL 类型的参数。因此,程序或作业参数不支持非 SQL类型的参数值,例如布尔值。
示例
BEGIN
dbms_scheduler.define_program_argument(program_name => 'CIDPPROGRAM_', argument_position => 1, argument_type => 'int', default_value => '0', out_argument => false);
COMMIT;
END;/