Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bekerja dengan Acara di MySQL

Saya yakin Anda memikirkan ini ke arah yang berlawanan:Anda tidak dapat membuat acara dalam prosedur tersimpan, tetapi Anda bisa buat prosedur tersimpan dan panggil dari sebuah acara.

Contoh:

delimiter $$
create procedure myProc()
-- Dummy procedure to move the data from mainTable to backupTable, 
-- and then clear (truncate) mainTable
begin
    insert into backupTable select * from mainTable;
    truncate mainTable;
end $$
delimiter ;

-- Now, suposing that you want to execute this procedure every hour:
delimiter $$
create event myEvent
    on schedule every 1 hour
    do
        begin
            call myProc();
        end $$
delimiter ;

Anda dapat menulis ini sebagai kueri lainnya di meja kerja, atau langsung di klien baris perintah.

Tentang kekhawatiran Anda

Setelah membaca komentar Anda, saya yakin Anda sedikit bingung tentang apa itu MySQL Workbench.

MySQL Workbench hanya aplikasi grafis yang memungkinkan Anda terhubung ke server MySQL dan melakukan kueri dan tugas administrasi. Tapi Workbench tidak inti dari MySQL... ini hanya sebuah viewer (dengan steroid, mungkin, tapi bagaimanapun juga viewer).

Sekarang, penjadwal acara tidak berada di Workbench, tetapi di instance server MySQL yang Anda sambungkan. Sama seperti tabel, tampilan, prosedur, dan fungsi yang tidak disimpan di antarmuka Workbench tetapi di server, kejadian juga disimpan di server.

(Ya, saya percaya ini adalah SNAFU yang relevan sehingga acara terjadwal tidak ditampilkan di mana pun di antarmuka grafis, tapi... setelah beberapa saat, seseorang belajar untuk hidup dengan frustrasi semacam itu dan melanjutkan hidup)

Mungkin satu-satunya kekhawatiran Anda adalah:"Hei, dan bagaimana jika saya ingin tahu acara apa yang diatur untuk dijalankan di penjadwal acara?" Anda dapat menjalankan kueri "tampilkan acara" untuk menampilkan daftar acara di database saat ini, dan Anda dapat menjalankan "tampilkan buat acara acara Anda" untuk menampilkan create event sintaks untuk acara itu.

Saya bersikeras:Baca manual, dan simpan salinannya (unduh manual untuk versi MySQL Anda di sini ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Program C++ berkomunikasi dengan Database MySQL

  2. CREATE FUNCTION error Fungsi ini tidak memiliki DETERMINISTIC, NO SQL, atau READS SQL DATA

  3. ORDER BY ENUM bidang di MYSQL

  4. Pemetaan JPA:QuerySyntaxException:foobar tidak dipetakan...

  5. Mengapa kueri sql ini tidak mengembalikan hasil apa pun yang membandingkan angka floating point?