MySQL ialah sistem pengurusan pangkalan data hubungan yang sangat popular yang menyokong ciri lanjutan seperti prosedur tersimpan, fungsi dan pencetus. Prosedur tersimpan ialah ciri pengaturcaraan lanjutan dalam MySQL yang boleh melakukan satu siri operasi pada bahagian pelayan dan boleh menggunakan pernyataan gelung untuk melaksanakan kawalan logik yang kompleks. Dalam artikel ini, kami akan memperkenalkan cara menggunakan gelung for dalam MySQL untuk menulis prosedur tersimpan.
1. Pengenalan kepada prosedur tersimpan
Prosedur tersimpan ialah satu set pernyataan SQL yang telah ditetapkan yang disimpan dan diuruskan dalam pangkalan data dan boleh dipanggil dan dilaksanakan apabila diperlukan. Prosedur tersimpan boleh dipanggil beberapa kali, boleh mengambil parameter dan boleh mengembalikan satu atau lebih set hasil. Oleh kerana prosedur tersimpan dilaksanakan pada pelayan pangkalan data, ia lebih pantas daripada program klien dan boleh mengurangkan overhed penghantaran rangkaian. Prosedur tersimpan biasanya digunakan untuk operasi data yang kompleks, seperti pembersihan data, ETL, dsb.
2. Penggunaan gelung for
Gelung for ialah pernyataan gelung biasa, yang boleh melakukan beberapa operasi gelung, serupa dengan pernyataan for dalam bahasa C. Untuk penyataan gelung juga boleh digunakan dalam MySQL. Sintaks penyataan gelung for adalah seperti berikut:
DECLARE variable_name datatype [DEFAULT value]; FOR loop_counter IN [REVERSE] lower_bound..upper_bound DO statements; END FOR;
Antaranya, variable_name mewakili nama pembolehubah, datatype mewakili jenis data pembolehubah, dan [DEFAULT value] mewakili nilai lalai pembolehubah (pilihan). lower_bound dan upper_bound mewakili nilai permulaan dan akhir gelung, dan loop_counter ialah pembilang gelung, yang dinaikkan atau dikurangkan setiap kali gelung.
3. Contoh prosedur tersimpan untuk gelung
Berikut ialah contoh prosedur tersimpan menggunakan gelung for Prosedur tersimpan ini menanyakan data daripada satu jadual dan menyimpannya dalam jadual lain. Ia menggunakan Gelung for melaksanakan operasi membaca baris data demi baris dan memasukkannya ke dalam jadual sasaran.
DELIMITER // CREATE PROCEDURE transfer_data() BEGIN DECLARE i INT DEFAULT 0; DECLARE count INT DEFAULT 0; SELECT COUNT(*) FROM source_table INTO count; FOR i IN 1..count DO INSERT INTO target_table SELECT * FROM source_table WHERE id = i; END FOR; END // DELIMITER ;
Dalam contoh di atas, kami mula-mula mengisytiharkan dua pembolehubah i dan kiraan, dengan i ialah pembilang gelung dan kiraan menyimpan bilangan rekod dalam jadual sumber. Kemudian gunakan pernyataan SELECT COUNT(*) untuk menanyakan bilangan rekod dalam jadual sumber dan menyimpan keputusan dalam pembolehubah kiraan. Seterusnya, dalam gelung for, gunakan pernyataan INSERT INTO untuk memasukkan setiap baris data ke dalam jadual sasaran. Antaranya, pernyataan WHERE id = i digunakan dalam setiap gelung untuk menanyakan baris ke-i data dalam jadual sumber dan memasukkannya ke dalam jadual sasaran.
4. Ringkasan
Dalam MySQL, anda boleh menggunakan prosedur tersimpan untuk melaksanakan operasi data yang kompleks, seperti pembersihan data, ETL, dsb. Gelung for ialah struktur gelung yang penting dalam melaksanakan prosedur tersimpan Ia boleh melaksanakan kawalan logik yang kompleks dengan mudah. Apabila menulis prosedur tersimpan, anda harus memberi perhatian kepada julat nilai mula dan nilai akhir gelung, serta nilai awal dan kaedah kenaikan pembilang gelung.
Atas ialah kandungan terperinci mysql untuk prosedur tersimpan gelung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!