Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mencipta dan menggunakan prosedur tersimpan dalam MySQL

Bagaimana untuk mencipta dan menggunakan prosedur tersimpan dalam MySQL

PHPz
PHPzasal
2023-04-19 17:19:033213semak imbas

MySQL ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas, di mana prosedur tersimpan ialah struktur pengaturcaraan khas yang boleh digunakan untuk menyelesaikan satu siri tugasan tertentu. Artikel ini akan memperkenalkan konsep asas prosedur tersimpan MySQL dan menunjukkan cara mencipta dan menggunakan prosedur tersimpan dalam MySQL dengan contoh mudah.

1. Apakah prosedur disimpan MySQL?

Prosedur tersimpan ialah blok kod SQL yang telah disusun sebelumnya, yang mengandungi satu siri pernyataan SQL, pernyataan kawalan aliran dan pernyataan definisi berubah-ubah, serta boleh dipanggil dan dilaksanakan melalui satu nama. Prosedur tersimpan boleh dibuat dalam MySQL dan disimpan pada pelayan pangkalan data, dan hanya dipanggil apabila ia perlu digunakan. Kelebihan menggunakan prosedur tersimpan ialah satu siri operasi dan logik pengiraan boleh dikumpulkan bersama, menjadikan penyelenggaraan dan pengurusan lebih mudah.

2. Sintaks asas prosedur tersimpan MySQL

Sintaks asas untuk mencipta prosedur tersimpan dalam MySQL adalah seperti berikut:

DELIMITER $$

CREATE PROCEDURE procedure_name(IN parameter_name DATATYPE, OUT parameter_name DATATYPE, INOUT parameter_name DATATYPE)

BEGIN

    -- SQL逻辑代码块

END $$

Antaranya, CREATE PROCEDURE ialah kunci untuk mencipta perkataan prosedur tersimpan, procedure_name ialah nama prosedur tersimpan tersuai, IN, OUT dan INOUT ialah tiga cara untuk lulus parameter, parameter_name ialah nama parameter prosedur tersimpan, dan DATATYPE ialah jenis data parameter. . Dalam blok kod logik SQL, fungsi prosedur tersimpan boleh direalisasikan melalui penyata SQL, penyataan kawalan aliran dan penyataan definisi berubah-ubah.

3. Contoh prosedur tersimpan MySQL

Berikut ialah contoh mudah untuk menunjukkan cara menggunakan prosedur tersimpan MySQL.

Contoh: Kira hasil tambah dua nombor

Andaikan kita memerlukan prosedur tersimpan untuk mengira hasil tambah dua nombor dan kembalikan hasilnya kepada pemanggil. Kemudian anda boleh mengikuti langkah berikut:

  1. Gunakan pernyataan DELIMITER untuk mentakrifkan semula penamat Ini kerana MySQL menggunakan koma bertitik ";" sebagai penamat secara lalai, dan anda juga perlu menggunakan koma bertitik sebagai penamat dalam prosedur tersimpan Penamat penyata, jadi ia perlu ditakrifkan semula.
DELIMITER $$
  1. Buat prosedur tersimpan bernama "add_two_numbers" dan tentukan dua parameter jenis IN a dan b.
CREATE PROCEDURE add_two_numbers(IN a INT, IN b INT)
  1. Tulis blok kod logik SQL antara BEGIN dan END untuk mengira hasil penambahan dua nombor dan simpan hasilnya dalam pembolehubah bernama "hasil".
BEGIN
    DECLARE result INT;

    SET result = a + b;

    SELECT result;
END $$
  1. Gunakan pernyataan SELECT untuk memanggil prosedur tersimpan dan masukkan nilai parameter a dan b.
SELECT add_two_numbers(3, 5);
  1. Laksanakan kod di atas dan hasil output ialah 8.

Kod sampel lengkap adalah seperti berikut:

DELIMITER $$

CREATE PROCEDURE add_two_numbers(IN a INT, IN b INT)
BEGIN
    DECLARE result INT;

    SET result = a + b;

    SELECT result;
END $$

SELECT add_two_numbers(3, 5);

4 Ringkasan

Prosedur disimpan MySQL ialah kaedah yang membantu meningkatkan kecekapan pengaturcaraan SQL dan mengurus pangkalan data. teknologi kerja. Artikel ini memperkenalkan cara mencipta dan menggunakan prosedur tersimpan dalam MySQL melalui contoh mudah. Apabila anda perlu menulis blok kod logik SQL yang kompleks, anda boleh mempertimbangkan untuk menggunakan prosedur tersimpan untuk mencapai pengurusan pangkalan data yang lebih cekap dan mudah.

Atas ialah kandungan terperinci Bagaimana untuk mencipta dan menggunakan prosedur tersimpan dalam MySQL. 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