CREATE_PROGRAM プロシージャは、プログラムを作成するために使用されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供しています。
構文
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名前空間内で一意である必要があります。例えば、プログラムはスキーマ内のテーブルと同じ名前にすることはできません。名前が指定されていない場合、エラーが発生します。 |
| program_type | 作成するプログラムのタイプを指定します。指定しない場合、エラーが発生します。現在、STORED_PROCEDURE のみサポートされており、プログラムがPLまたはJavaストアドプロシージャ、または外部Cサブルーチンであることを指定するために使用されます。このパラメータは戻り値を持つ関数や、INOUT または OUT パラメータを持つPLプロシージャをサポートしていません。 |
| program_action | プログラムの操作を指定します。program_action が指定されていない場合、エラーが発生します。ストアドプロシージャの場合、program_action はストアドプロシージャの名前です。プロシージャがジョブ外の他のスキーマにある場合は、スキーマを指定する必要があります。大文字小文字を区別する必要がある場合は、スキーマ名とストアドプロシージャ名を二重引用符で囲みます。例: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;