Dalam mysql, anda boleh menggunakan pernyataan CALL untuk memanggil prosedur tersimpan Penyataan ini menerima nama prosedur tersimpan dan sebarang parameter yang perlu dihantar kepadanya Sintaksnya ialah "CALL sp_name([parameter [...]]) ;".
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Memanggil prosedur tersimpan
Pernyataan CALL digunakan dalam MySQL untuk memanggil prosedur tersimpan. Apabila prosedur tersimpan dipanggil, sistem pangkalan data melaksanakan pernyataan SQL dalam prosedur tersimpan dan mengembalikan hasilnya sebagai nilai output.
Pernyataan CALL menerima nama prosedur yang disimpan dan sebarang parameter yang perlu dihantar kepadanya Sintaks asas adalah seperti berikut:
CALL sp_name([parameter[...]]);
Di mana, sp_name mewakili nama. prosedur tersimpan, dan parameter mewakili parameter tersimpan.
Contoh 1:
Buat prosedur tersimpan
Buat prosedur tersimpan bernama ShowStuScore adalah untuk Menyoal maklumat gred pelajar dalam jadual maklumat gred pelajar
mysql> DELIMITER // mysql> CREATE PROCEDURE ShowStuScore() -> BEGIN -> SELECT * FROM tb_students_score; -> END // Query OK, 0 rows affected (0.09 sec)
Hasilnya menunjukkan bahawa prosedur tersimpan ShowStuScore telah berjaya dibuat.
Buat prosedur tersimpan bernama GetScoreByStu Parameter input ialah nama pelajar. Fungsi prosedur tersimpan adalah untuk menanyakan maklumat gred pelajar yang ditentukan daripada jadual maklumat gred pelajar dengan memasukkan nama pelajar
mysql> DELIMITER // mysql> CREATE PROCEDURE GetScoreByStu -> (IN name VARCHAR(30)) -> BEGIN -> SELECT student_score FROM tb_students_score -> WHERE student_name=name; -> END // Query OK, 0 rows affected (0.01 sec)
Panggil prosedur tersimpan
Panggil prosedur tersimpan bernama ShowStuScore dan GetScoreByStu
mysql> DELIMITER ; mysql> CALL ShowStuScore(); +--------------+---------------+ | student_name | student_score | +--------------+---------------+ | Dany | 90 | | Green | 99 | | Henry | 95 | | Jane | 98 | | Jim | 88 | | John | 94 | | Lily | 100 | | Susan | 96 | | Thomas | 93 | | Tom | 89 | +--------------+---------------+ 10 rows in set (0.00 sec) Query OK, 0 rows affected (0.02 sec) mysql> CALL GetScoreByStu('Green'); +---------------+ | student_score | +---------------+ | 99 | +---------------+ 1 row in set (0.03 sec) Query OK, 0 rows affected (0.03 sec)
Oleh kerana prosedur tersimpan sebenarnya adalah fungsi, perlu ada simbol () selepas nama prosedur yang disimpan, walaupun ia tidak diluluskan Parameter juga diperlukan.
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Bagaimana untuk memanggil prosedur tersimpan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!