Rumah pangkalan data tutorial mysql Buat prosedur tersimpan mysql

Buat prosedur tersimpan mysql

May 08, 2023 pm 09:08 PM

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka popular yang cemerlang dalam mengendalikan sejumlah besar data. Prosedur tersimpan ialah blok kod boleh guna semula yang berinteraksi dengan jadual data dan boleh dipanggil dalam pertanyaan.

Artikel ini akan memperkenalkan cara membuat prosedur tersimpan, dan cara memanggil dan menggunakannya dalam MySQL.

1. Buat prosedur tersimpan

Dalam MySQL, mencipta prosedur tersimpan biasanya memerlukan langkah berikut:

1.

2. Jalankan arahan CREATE PROCEDURE untuk mentakrifkan prosedur yang disimpan.

3. Tentukan logik dalam prosedur tersimpan.

Berikut ialah contoh prosedur tersimpan:

DELIMITER //
 
CREATE PROCEDURE getUsers()
BEGIN
    SELECT * FROM users;
END //
 
DELIMITER ;
Salin selepas log masuk

Dalam contoh di atas, kami telah menentukan prosedur tersimpan yang dipanggil getUsers yang akan mengembalikan semua rekod dalam jadual pengguna.

Di sini kami menggunakan perintah DELIMITER khas yang memberitahu MySQL cara memisahkan pertanyaan SQL daripada prosedur tersimpan.

Seterusnya, kami menggunakan arahan CREATE PROCEDURE untuk mentakrifkan prosedur yang disimpan. Kami menentukan nama prosedur yang disimpan, parameter masuk, logik, dan hasil output.

Perhatikan bahawa kami menggunakan perintah BEGIN dan END dalam prosedur tersimpan untuk meletakkan logik dalam blok kod.

Akhir sekali, kami menggunakan perintah DELIMITER untuk menentukan pembatas baharu untuk pertanyaan SQL, yang secara lalai ialah koma bertitik (;). Ini dilakukan untuk mengelakkan ralat sintaks yang disebabkan oleh penggunaan titik bertitik dalam prosedur tersimpan.

2. Panggil prosedur tersimpan

Setelah anda mencipta prosedur tersimpan, anda boleh merujuknya dalam pertanyaan sama seperti memanggil fungsi. Contohnya:

CALL getUsers();
Salin selepas log masuk

Selepas memanggil prosedur tersimpan, ia akan melaksanakan logik yang ditakrifkan di tengah dan mengembalikan hasilnya.

3. Lulus parameter

Prosedur tersimpan boleh menggunakan parameter masuk untuk melaksanakan logik yang berbeza. Berikut ialah contoh:

DELIMITER //
 
CREATE PROCEDURE getUserById(IN id INT)
BEGIN
    SELECT * FROM users WHERE id = id;
END //
 
DELIMITER ;
Salin selepas log masuk

Dalam contoh di atas, kami telah mencipta prosedur tersimpan dipanggil getUserById dan menentukan id parameter input. Dalam prosedur tersimpan, kami menggunakan pernyataan WHERE untuk memadankan id dan mengembalikan rekod.

Apabila memanggil prosedur tersimpan, parameter perlu diluluskan. Contohnya:

CALL getUserById(1);
Salin selepas log masuk

Ini akan mengembalikan rekod pengguna dengan id 1.

4. Ubah suai prosedur tersimpan

Dalam sesetengah kes, anda mungkin perlu mengubah suai prosedur tersimpan. Ini mudah dicapai. Anda boleh mengubah suai prosedur tersimpan sedia ada menggunakan arahan berikut:

ALTER PROCEDURE getUsers() 
BEGIN 
    SELECT * FROM users WHERE age > 18; 
END;
Salin selepas log masuk

Dalam contoh di atas, kami mengubah suai prosedur tersimpan getUsers untuk hanya mengembalikan rekod untuk pengguna yang berumur lebih daripada 18 tahun. Dengan cara ini anda boleh mengubah suai prosedur tersimpan dengan mudah untuk memenuhi keperluan perniagaan yang berbeza.

5. Padamkan prosedur tersimpan

Apabila anda tidak lagi memerlukan prosedur tersimpan, anda boleh menggunakan arahan berikut untuk memadamnya:

DROP PROCEDURE getUsers;
Salin selepas log masuk

Arahan di atas akan memadamkan nama prosedur tersimpan getUsers. Sila ambil perhatian bahawa pemadaman prosedur tersimpan akan memadamkan takrifan dan rekod berkaitannya secara kekal.

Ringkasan

Prosedur tersimpan adalah salah satu ciri penting dalam MySQL. Mencipta prosedur tersimpan membolehkan anda menyusun dan menggunakan semula kod dengan cekap dan melaksanakan operasi yang kompleks. Dengan artikel ini di tangan, anda kini seharusnya bersedia untuk menulis dan memanggil prosedur tersimpan. Untuk mengetahui lebih lanjut tentang MySQL, lihat dokumentasi rasmi.

Atas ialah kandungan terperinci Buat prosedur tersimpan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Terangkan keupayaan carian teks penuh InnoDB. Terangkan keupayaan carian teks penuh InnoDB. Apr 02, 2025 pm 06:09 PM

Keupayaan carian teks penuh InnoDB sangat kuat, yang dapat meningkatkan kecekapan pertanyaan pangkalan data dan keupayaan untuk memproses sejumlah besar data teks. 1) InnoDB melaksanakan carian teks penuh melalui pengindeksan terbalik, menyokong pertanyaan carian asas dan maju. 2) Gunakan perlawanan dan terhadap kata kunci untuk mencari, menyokong mod boolean dan carian frasa. 3) Kaedah pengoptimuman termasuk menggunakan teknologi segmentasi perkataan, membina semula indeks dan menyesuaikan saiz cache untuk meningkatkan prestasi dan ketepatan.

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Bagaimana anda mengendalikan dataset besar di MySQL? Bagaimana anda mengendalikan dataset besar di MySQL? Mar 21, 2025 pm 12:15 PM

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Bagaimana anda menjatuhkan jadual di MySQL menggunakan pernyataan jadual drop? Mar 19, 2025 pm 03:52 PM

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Perbezaan antara indeks kluster dan indeks bukan clustered (indeks sekunder) di InnoDB. Perbezaan antara indeks kluster dan indeks bukan clustered (indeks sekunder) di InnoDB. Apr 02, 2025 pm 06:25 PM

Perbezaan antara indeks clustered dan indeks bukan cluster adalah: 1. Klustered Index menyimpan baris data dalam struktur indeks, yang sesuai untuk pertanyaan oleh kunci dan julat utama. 2. Indeks Indeks yang tidak berkumpul indeks nilai utama dan penunjuk kepada baris data, dan sesuai untuk pertanyaan lajur utama bukan utama.

Terangkan pelbagai jenis indeks MySQL (B-Tree, Hash, Full-Text, Spatial). Terangkan pelbagai jenis indeks MySQL (B-Tree, Hash, Full-Text, Spatial). Apr 02, 2025 pm 07:05 PM

MySQL menyokong empat jenis indeks: B-Tree, Hash, Full-Text, dan Spatial. 1. B-Tree Index sesuai untuk carian nilai yang sama, pertanyaan dan penyortiran. 2. Indeks hash sesuai untuk carian nilai yang sama, tetapi tidak menyokong pertanyaan dan penyortiran pelbagai. 3. Indeks teks penuh digunakan untuk carian teks penuh dan sesuai untuk memproses sejumlah besar data teks. 4. Indeks spatial digunakan untuk pertanyaan data geospatial dan sesuai untuk aplikasi GIS.

See all articles