Rumah  >  Artikel  >  pangkalan data  >  prosedur tersimpan berjadual oracle

prosedur tersimpan berjadual oracle

WBOY
WBOYasal
2023-05-07 22:33:383011semak imbas

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.

  1. Buat kerja
    Dalam Oracle, anda boleh mencipta kerja melalui PL/SQL, Pembangun PL/SQL, Toad dan alatan lain.
    Sebagai contoh, buat kerja yang dipanggil "kerja saya", termasuk melaksanakan prosedur tersimpan "mystoredprocedure":

mulakan
dbms_scheduler.create_job
(job_name=>'myjob' ,
job_type=>'STORED_PROCEDURE',
job_action=>'mystoredprocedure');
end;

  1. Pelaksanaan berjadual
    Selepas membuat kerja perlu dilakukan Masa untuk melaksanakan kerja ini? Penjadual Oracle boleh mengawal masa pelaksanaan kerja dalam dua cara berikut:

(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

rreee

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;

  1. Laksanakan storan Proses
    Dalam contoh di atas, peranan tugas "kerja saya" adalah untuk melaksanakan prosedur tersimpan "mystoredprocedure". Di sini kita dapat melihat bahawa penjadual itu sendiri tidak menjalankan prosedur tersimpan, ia hanya bertanggungjawab untuk menguruskan pelaksanaan kerja.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn