1. Pengenalan
MySQL ialah sistem pengurusan pangkalan data hubungan (RDBMS) yang popular yang menggunakan pernyataan SQL untuk mengendalikan data. Prosedur tersimpan ialah koleksi pernyataan SQL yang boleh digunakan dan dipanggil berulang kali. Artikel ini akan memperkenalkan penciptaan, panggilan dan operasi contoh prosedur tersimpan dalam pangkalan data MySQL.
2. Penciptaan prosedur tersimpan MySQL
Untuk mencipta prosedur tersimpan dalam MySQL, anda boleh menggunakan pernyataan berikut:
CREATE PROCEDURE procedure_name ([parameter_list]) BEGIN -- put your SQL statements here; END;
procedure_name
: nama prosedur tersimpan. parameter_list
: senarai parameter, yang boleh kosong. BEGIN
dan END
: aksara permulaan dan akhir pernyataan SQL. Prosedur tersimpan boleh mengandungi 0 atau lebih parameter, sintaksnya adalah seperti berikut:
CREATE PROCEDURE procedure_name (IN|OUT|INOUT parameter_name data_type)
masing-masing Jenis parameter masuk, keluar dan masuk dan keluar, parameter_name
dan data_type
masing-masing mewakili nama parameter dan jenis data.
Berikut ialah contoh mencipta prosedur tersimpan dengan parameter:
CREATE PROCEDURE get_employee (IN employee_id INT) BEGIN SELECT * FROM employee WHERE id = employee_id; END;
3. Memanggil prosedur tersimpan MySQL
Logik perniagaan yang kompleks boleh dilaksanakan dalam MySQL menggunakan prosedur tersimpan. Untuk memanggil prosedur tersimpan, anda boleh menggunakan pernyataan berikut:
CALL procedure_name (parameter_list);
Sebagai contoh, apabila menggunakan prosedur tersimpan yang dibuat di atas, kita boleh menggunakan pernyataan berikut untuk memanggil:
CALL get_employee(1);
4. Contoh prosedur tersimpan MySQL
Mari kita lihat contoh praktikal untuk melaksanakan operasi pemindahan akaun.
CREATE PROCEDURE transfer(IN from_account INT, IN to_account INT, IN amount DECIMAL(10,2)) BEGIN DECLARE from_balance DECIMAL(10,2); DECLARE to_balance DECIMAL(10,2); START TRANSACTION; SELECT balance INTO from_balance FROM account WHERE id = from_account FOR UPDATE; SELECT balance INTO to_balance FROM account WHERE id = to_account FOR UPDATE; IF from_balance < amount THEN ROLLBACK; SELECT 'Insufficient balance' AS message; ELSE UPDATE account SET balance = from_balance - amount WHERE id = from_account; UPDATE account SET balance = to_balance + amount WHERE id = to_account; COMMIT; SELECT 'Transfer succeed!' AS message; END IF; END;
Kami boleh memanggil prosedur tersimpan menggunakan kenyataan berikut:
CALL transfer(1, 2, 100);
Pindahkan 100 yuan daripada pengguna dengan ID akaun 1 kepada pengguna dengan ID akaun 2.
Di atas adalah operasi asas prosedur tersimpan pangkalan data MySQL Sudah tentu, dalam pembangunan sebenar, akan ada lebih banyak senario di mana prosedur tersimpan perlu digunakan, dan pembangun perlu mereka bentuk dan memanggilnya mengikut keperluan sebenar. .
Atas ialah kandungan terperinci Penjelasan terperinci tentang prosedur tersimpan pangkalan data mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!