首批通过分布式安全可靠测评,为关键业务系统打造
CREATE_PROGRAM
更新时间:2026-03-26 17:56:44
CREATE_PROGRAM 过程用于创建一个程序。
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版暂不支持。
语法
DBMS_SCHEDULER.CREATE_PROGRAM (
program_name IN VARCHAR2,
program_type IN VARCHAR2,
program_action IN VARCHAR2,
number_of_arguments IN PLS_INTEGER DEFAULT 0,
enabled IN BOOLEAN DEFAULT FALSE,
comments IN VARCHAR2 DEFAULT NULL);
参数说明
| 参数 | 说明 |
|---|---|
| program_name | 指定程序的名称。该名称在 SQL 命名空间中必须是唯一的。例如,程序不能与 Schema 中的表同名。如果未指定名称,则会发生报错。 |
| program_type | 指定要创建的程序的类型。如果未指定,则会出现报错。当前仅支持 'STORED_PROCEDURE',用于指定程序是 PL 或 Java 存储过程,或外部 C 子程序。该参数不支持带有返回值的函数,和不支持带有 INOUT 或 OUT 参数的 PL 过程。 |
| program_action | 指定程序的操作。如果未指定 program_action,则会报错。对于存储过程,program_action 是存储过程的名称。如果过程位于作业之外的其他 Schema 中,则必须指定 Schema。如果需要区分大小写,请将 Schema 名称和存储过程名称用双引号括起来。例如 job_action_proc=>'"Schema"."myProc"'。 |
| number_of_arguments | 指定程序所需的参数数量。如果未指定该参数,则默认值为 0,取值范围为 [0,255]。 |
| enabled | 指定是否启用创建的程序。该属性可以设置为 TRUE 或者 FALSE。默认为 FALSE,即创建的作业被禁用。如果设置为 TRUE,在完成有效性检查后,程序将被创建为启用。默认情况下,此属性设置为 FALSE,表示未启用创建的程序。您还可以调用 ENABLE 过程来启用该程序。 |
| comments | 添加有关程序的注释。默认情况下,该属性为 NULL。 |
使用说明
默认情况下,程序是在禁用状态下创建的(除非 enabled 参数设置为 TRUE),作业无法执行该程序。要使用您的程序,其他用户必须具有 EXECUTE 权限。
示例
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM(
PROGRAM_NAME => 'empprogram',
PROGRAM_TYPE => 'STORED_PROCEDURE',
PROGRAM_ACTION => 'hr.empprogram',
COMMENTS => '员工数据管理');
END;