Artikel yang memperkenalkan kaedah melihat prosedur tersimpan dalam MySQL

PHPz
Lepaskan: 2023-04-19 15:17:21
asal
808 orang telah melayarinya

MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas. Seperti sistem pengurusan pangkalan data yang lain, MySQL juga menyokong konsep prosedur tersimpan Melalui prosedur tersimpan, operasi biasa dan kod logik perniagaan boleh dirangkumkan ke dalam modul dan dipanggil terus apabila diperlukan.

Walau bagaimanapun, dalam pembangunan sebenar, apabila skala perniagaan terus berkembang, bilangan prosedur tersimpan akan meningkat, dan cara mengurus dengan cekap dan mencari prosedur tersimpan ini dengan cepat menjadi sangat penting. Artikel ini akan memperkenalkan kaedah melihat prosedur tersimpan dalam MySQL, dan berharap dapat membantu anda.

1 Gunakan arahan SHOW PROCEDURE STATUS untuk melihat prosedur yang disimpan

Dengan menggunakan perintah SHOW PROCEDURE STATUS, anda boleh melihat maklumat yang berkaitan tentang prosedur yang disimpan dalam pangkalan data MySQL, termasuk nama , masa penciptaan dan pengubahsuaian prosedur tersimpan, status, dsb.

Show PROCEDURE STATUS [LIKE 'pattern' | WHERE expr]
Salin selepas log masuk

Antaranya, pattern mewakili corak nama prosedur tersimpan untuk ditanya dan expr mewakili ungkapan SQL Hasil pertanyaan akan dikembalikan hanya apabila hasil ungkapan adalah benar. Jika tiada parameter dinyatakan, maklumat tentang semua prosedur yang disimpan akan dikembalikan.

Berikut ialah beberapa contoh:

Soal semua prosedur tersimpan

SHOW PROCEDURE STATUS;
Salin selepas log masuk

Soal prosedur tersimpan yang namanya bermula dengan p_

SHOW PROCEDURE STATUS LIKE 'p_%';
Salin selepas log masuk

Prosedur Disimpan Pertanyaan dengan status {Create | Alter | Drop}

SHOW PROCEDURE STATUS WHERE `status` IN ('Create', 'Alter', 'Drop');
Salin selepas log masuk

2 Gunakan arahan SHOW CREATE PROCEDURE untuk melihat definisi prosedur tersimpan

Untuk melihat definisi khusus prosedur tersimpan, anda boleh menggunakan. perintah SHOW CREATE PROCEDURE, Penyataan SQL yang mengandungi definisi prosedur tersimpan dikembalikan.

SHOW CREATE PROCEDURE proc_name;
Salin selepas log masuk

Di mana, proc_name mewakili nama prosedur tersimpan untuk disoal.

Berikut ialah contoh:

SHOW CREATE PROCEDURE `add_user`;

-- 结果
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Procedure | Create Procedure                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| add_user  | CREATE DEFINER=`root`@`localhost` PROCEDURE `add_user`(IN p_name VARCHAR(32), IN p_age INT, IN p_address VARCHAR(64)) BEGIN INSERT INTO `user`(`name`, `age`, `address`) VALUES (p_name, p_age, p_address); END |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Salin selepas log masuk

Dengan arahan SHOW CREATE PROCEDURE, anda boleh melihat pelaksanaan khusus prosedur tersimpan dengan cepat walaupun anda tidak mengetahui takrifan prosedur tersimpan.

3. Gunakan INFORMATION_SCHEMA untuk melihat prosedur tersimpan

INFORMATION_SCHEMA ialah pangkalan data metadata yang disokong oleh MySQL, yang mengandungi sejumlah besar maklumat tentang struktur dan status pangkalan data. Dalam jadual INFORMATION_SCHEMA.Routines, anda boleh menanyakan semua prosedur tersimpan pangkalan data MySQL.

SELECT `ROUTINE_NAME`, `ROUTINE_DEFINITION`, `CREATED`, `LAST_ALTERED`
FROM `INFORMATION_SCHEMA`.`ROUTINES`
WHERE `ROUTINE_TYPE` = 'PROCEDURE'
  AND `SPECIFIC_SCHEMA` = 'your_db_name';
Salin selepas log masuk

Antaranya, ROUTINE_NAME mewakili nama prosedur tersimpan, ROUTINE_DEFINITION mewakili takrif prosedur tersimpan, CREATED mewakili masa penciptaan dan LAST_ALTERED mewakili masa pengubahsuaian.

Perlu diambil perhatian bahawa untuk meningkatkan kecekapan pertanyaan, nama pangkalan data tertentu harus dinyatakan dalam pernyataan pertanyaan. Jika anda ingin menanyakan semua pangkalan data, anda boleh menukar medan SPECIFIC_SCHEMA kepada IS NOT NULL.

Ringkasan

Melalui tiga kaedah di atas, anda boleh melihat dan mengurus prosedur tersimpan dalam MySQL dengan mudah. Perintah SHOW PROCEDURE STATUS menyediakan maklumat prosedur tersimpan asas, dan perintah SHOW CREATE PROCEDURE menyediakan definisi prosedur tersimpan khusus. Menggunakan INFORMATION_SCHEMA anda boleh menanyakan prosedur tersimpan dalam semua pangkalan data MySQL.

Dalam pembangunan sebenar, selain menyemak definisi dan maklumat prosedur tersimpan, anda juga perlu biasa dengan kaedah panggilan prosedur tersimpan, pemindahan parameter, dsb., supaya anda boleh menggunakan prosedur tersimpan dengan cepat untuk melengkapkan logik perniagaan apabila diperlukan.

Atas ialah kandungan terperinci Artikel yang memperkenalkan kaedah melihat prosedur tersimpan dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan