Oracle ialah pangkalan data hubungan yang sangat popular. Dalam perniagaan, kita selalunya perlu melaksanakan beberapa prosedur tersimpan dengan kerap untuk menyelesaikan beberapa operasi automatik dan menjimatkan kos operasi. Artikel ini akan memperkenalkan cara menggunakan Oracle untuk melaksanakan prosedur tersimpan secara kerap.
1. Konsep asas pelaksanaan berjadual prosedur tersimpan dalam Oracle
Pelaksanaan berjadual prosedur tersimpan dalam Oracle bermakna sistem secara automatik melaksanakan beberapa prosedur tersimpan pratulis dalam selang masa tertentu. Kaedah ini sering digunakan untuk pengarkiban data biasa, sandaran, pembersihan dan tugas lain.
2. Cara melaksanakan pelaksanaan berjadual prosedur tersimpan Oracle
Pelaksanaan prosedur tersimpan berjadual Oracle boleh dilaksanakan melalui penjadual Oracle. Penjadual memudahkan untuk memulakan kerja pada titik masa atau selang waktu tertentu dan menamatkannya apabila masa tamat.
mulakan
dbms_scheduler.create_job
(job_name=>'myjob' ,
job_type=>'STORED_PROCEDURE',
job_action=>'mystoredprocedure');
end;
(1) Pelaksanaan berasaskan masa
Dalam Oracle, anda boleh menggunakan pakej dbms_scheduler untuk mencipta jadual:
MULAKAN
DBMS_SCHEDULER.CREATE_SCHEDULE (
schedule_name => 'weekends', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=WEEKLY;BYDAY=SAT,SUN;BYHOUR=0;BYMINUTE=0', end_date => NULL, comments => 'Weekend schedule - Saturday and Sunday every week at midnight.'
);
END;
Coretan kod ini boleh membuat jadual yang dilaksanakan pada tengah malam setiap hari pada hujung minggu. Sudah tentu, jadual yang berbeza boleh dibuat berdasarkan keperluan perniagaan tertentu.
Untuk membolehkan kerja myjob dilaksanakan pada masa berikut, logik jadual hujung minggu perlu digunakan pada my job:
BERMULA
DBMS_SCHEDULER.SET_ATTRIBUTE
TAMAT;
Menggunakan kaedah penjadualan berasaskan masa ini, kitaran pelaksanaan kerja akan sangat ditetapkan dan ditetapkan oleh pembangun mengikut keperluan perniagaan.
(2) Pelaksanaan berasaskan acara
Cara lain untuk melaksanakan pelaksanaan berjadual bagi prosedur tersimpan Sebagai contoh, jika medan dalam jadual data berubah, maka prosedur tersimpan perlu didorong . Dalam Oracle, anda boleh mencipta jadual masa berasaskan acara melalui kod berikut:
BERMULA
DBMS_SCHEDULER.CREATE_JOB
( name => 'myjob', attribute => 'repeat_interval', value => 'weekends' );
END;
Untuk berjaya menjadualkan prosedur tersimpan, anda mesti mencipta prosedur tersimpan dan mengaitkannya dengan kerja. Di sini saya mencipta prosedur tersimpan bernama "mystoredprocedure" sebagai contoh:
CIPTA ATAU GANTIKAN PROSEDUR "mystoredprocedure"
IS
BERMULA
( job_name => 'job_name', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN my_procedure(:my_param); END;', start_date => SYSTIMESTAMP, event_condition => 'tab.col3 = ''Y''', --这里可以选择需要监控的事件类型和字段 queue_spec => 'queue_specification', auto_drop => FALSE, enabled => TRUE );
TAMATKAN mystoredprocedure;
Contoh ini hanya menyimpan maklumat data baharu dalam jadual employees_audit pangkalan data Pembangun boleh menulis prosedur tersimpan mereka sendiri mengikut keperluan khusus.
Program yang kerap melaksanakan prosedur tersimpan dijalankan di latar belakang. Mengikut dasar penjadualan masa yang ditetapkan oleh pembangun, kerja akan dimulakan pada masa yang ditentukan, dan kemudian prosedur disimpan mystoredprocedure akan dilaksanakan.
3. Ringkasan
Pelaksanaan berjadual prosedur tersimpan Oracle ialah penyelesaian yang cekap untuk memproses tugasan berkala. Proses ini boleh dilaksanakan dengan mudah menggunakan penjadual Oracle. Melalui kaedah pelaksanaan yang diperkenalkan dalam artikel ini, pembangun boleh mengkonfigurasi secara fleksibel masa berjalan, kekerapan dan prosedur tersimpan yang perlu dilaksanakan. Ini boleh memendekkan masa pemprosesan perniagaan dan meningkatkan kecekapan pemprosesan.
Atas ialah kandungan terperinci prosedur tersimpan berjadual oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!