Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk memanggil prosedur tersimpan dalam mysql

Bagaimana untuk memanggil prosedur tersimpan dalam mysql

青灯夜游
青灯夜游asal
2022-01-24 16:45:2712589semak imbas

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 [...]]) ;".

Bagaimana untuk memanggil prosedur tersimpan dalam mysql

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!

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