データベーステーブルのアクションをスケジュールするには、スケジュールチェーン、つまりスケジュールをリンクするジョブ(DBMS_SCHEDULER.CREATE_JOB)を作成する必要がありますDBMS_SCHEDULER.CREATE_SCHEDULE)とプログラム(DBMS_SCHEDULER.CREATE_PROGRAM)があります。しかし、もし私がPROGRAMとリンクされた仕事だけで同じ仕事をしたいのであれば?出来ますか ?私が試してみました、私はプログラムがログをチェックするとき、それは私を示しています(5秒の間隔で実行されます)Oracleスケジュールジョブを使用してOracleスケジュールプログラムを実行する
RUNS FAILS
======================
10 10
JOBが10回実行されたことを意味し、それは同じ番号で失敗しました回。
PROGRAM-CODE :
=================
BEGIN
SYS.DBMS_SCHEDULER.CREATE_PROGRAM
(
program_name => 'HR.INSERT_PROG'
,program_type => 'PLSQL_BLOCK'
,program_action => 'insert into sch_test values (s1.nextval,s2.nextval)'
,number_of_arguments => 0
,enabled => TRUE
,comments => NULL
);
END;
JOB-CODE :
==========
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'HR.JOB1'
,schedule_name => 'HR.INSERT_SCH'
,program_name => 'HR.INSERT_PROG'
,comments => NULL
);
END;
関係テーブルが読み込まれることは決してありません:以下の
は、当該JOBとPROGRAM用のコードです。誰かが私に言うことができるなら、私はここで間違っていますか? SCHEDULEなしでこれを達成できないのですか?
はい、これは実行され、チェックされており、すべてがスムーズかつ上手く動作しています。好奇心のためだけに、私はプログラムや仕事で可能かどうかを私が尋ねたことを知りたいのですか? はい、答えの弟のためにトンをありがとう! – hashir