Rumah >pangkalan data >tutorial mysql >Prosedur tersimpan dalam mysql

Prosedur tersimpan dalam mysql

WBOY
WBOYasal
2023-05-18 16:27:081134semak imbas

MySQL ialah pangkalan data hubungan yang biasa digunakan, di mana prosedur tersimpan merupakan ciri yang sangat penting. Prosedur tersimpan ialah aplikasi lanjutan bahasa SQL Ia menggabungkan berbilang pernyataan SQL dan memprosesnya sebagai satu unit untuk mencapai operasi yang kompleks pada pangkalan data.

Pengenalan kepada prosedur tersimpan

Prosedur tersimpan ialah salah satu objek pangkalan data, sama seperti jadual, pandangan, indeks, dsb. Ia adalah satu set pernyataan SQL yang dipratentukan. Dalam MySQL, prosedur tersimpan ialah kod program boleh guna semula yang boleh dilaksanakan pada klien atau pada pelayan pangkalan data.

Ciri-ciri prosedur tersimpan:

1. Enkapsulasi

Prosedur tersimpan boleh menggabungkan satu set pernyataan SQL ke dalam satu fungsi, meningkatkan pengkapsulan dan keselamatan pangkalan data, untuk mengelakkan beberapa operasi yang tidak betul.

2. Kecekapan pelaksanaan yang tinggi

Prosedur tersimpan disusun ke dalam kod binari apabila ia dibuat, kod binari dipanggil terus, dan kecekapan pelaksanaan adalah sangat tinggi.

3. Kebolehgunaan semula

Prosedur tersimpan boleh dipanggil beberapa kali, meningkatkan kebolehgunaan semula.

4. Fungsi berkuasa

Prosedur tersimpan ialah aplikasi lanjutan bahasa SQL Ia sangat berkuasa dan boleh merealisasikan operasi pangkalan data yang kompleks.

Sintaks prosedur tersimpan

Takrif prosedur tersimpan

Sintaks takrifan prosedur tersimpan adalah seperti berikut:

BUAT PROSEDUR PROSEDUR_nama([senarai parameter])
BEGIN

存储过程主体内容

END;

Antaranya, [Senarai Parameter] adalah pilihan dan mewakili parameter input dan output yang diperlukan oleh prosedur yang disimpan. Kandungan utama prosedur tersimpan ialah satu set pernyataan SQL, yang boleh termasuk penyataan aliran kawalan (seperti IF, WHILE dan LOOP, dsb.), dan juga boleh memanggil prosedur tersimpan lain.

Parameter prosedur tersimpan

Prosedur tersimpan boleh mempunyai parameter input, parameter output dan parameter input/output. Parameter input ialah nilai yang dihantar dari luar dan digunakan dalam prosedur tersimpan. Parameter output dikira atau diberikan dalam prosedur tersimpan dan dikembalikan kepada pemanggil selepas prosedur tersimpan dilaksanakan. Parameter input/output digunakan untuk komunikasi dua hala.

Sintaks parameter prosedur tersimpan adalah seperti berikut:

CREATE PROCEDURE procedure_name(IN|OUT|INOUT parameter_name parameter_type[,IN|OUT|INOUT parameter_name parameter_type...])
BEGIN

存储过程主体内容

END;

Antaranya, parameter_name ialah nama parameter, parameter_type ialah jenis parameter, IN mewakili parameter input, OUT mewakili parameter output, dan INOUT mewakili parameter input/output. .

Panggilan prosedur tersimpan

Sintaks panggilan prosedur tersimpan adalah seperti berikut:

Nama_prosedur CALL([senarai parameter])

Di mana, nama_prosedur ialah nama prosedur tersimpan, dan parameter Senarai ialah parameter input yang diperlukan oleh prosedur tersimpan.

Contoh Prosedur Tersimpan

Berikut ialah contoh penciptaan prosedur tersimpan yang mudah Ia mencipta prosedur tersimpan bernama getUserInfo, yang memerlukan nama pengguna untuk dimasukkan dan mengembalikan nama panggilan pengguna:

DELIMITER $$
BUAT PROSEDUR getUserInfo(DALAM nama VARCHAR(20), nama panggilan KELUAR VARCHAR(20))
MULAKAN

SELECT user_nickname INTO nickname FROM user WHERE user_name=name;

TAMAT $$
DELIMITER ;

Prosedur tersimpan ini mempunyai dua parameter: nama ialah parameter input, menunjukkan nama pengguna pertanyaan ialah parameter output, menunjukkan nama panggilan pengguna. Kandungan utama prosedur tersimpan ini ialah pernyataan SELECT, yang menanyakan jadual pengguna untuk nama panggilan pengguna yang layak dan memberikannya kepada nama panggilan.

Panggilan prosedur tersimpan:

CALL getUserInfo('jack', @nickname);
PILIH @nama panggilan;

Kod di atas akan memanggil prosedur tersimpan getUserInfo dengan parameter 'jack' memberikan hasil pertanyaan kepada pembolehubah @nama panggilan dan mengeluarkan pembolehubah @nama panggilan.

Ringkasan prosedur tersimpan

Prosedur tersimpan ialah ciri penting MySQL, yang boleh membantu kami melaksanakan operasi pangkalan data dengan lebih baik. Melalui prosedur tersimpan, kami boleh menggabungkan berbilang pernyataan SQL ke dalam satu unit untuk menambah baik pengkapsulan operasi dan keselamatan. Ia juga meningkatkan kecekapan pertanyaan, meningkatkan kebolehgunaan semula dan kebolehskalaan. Dalam aplikasi praktikal, prosedur tersimpan boleh digunakan untuk mengendalikan beberapa keperluan perniagaan yang kompleks, seperti import data, penukaran data, pengiraan, dsb. Berbanding dengan pernyataan SQL tradisional, prosedur tersimpan lebih mudah dan boleh dipercayai, dan merupakan bahagian yang sangat diperlukan dalam pembangunan pangkalan data.

Atas ialah kandungan terperinci 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